API Documentation
Reports ¶
/reports
endpoints are routes that support multigrouping.
For each report, there are listed supported group parameters. Available filters are the same as for the source object (task report has all the filters available for tasks). All reports endpoints support filter operations.
Example for passing a group param: /reports/task_reports?group=organization,task
.
All /reports
endpoints support grouping by date period. Available date periods for grouping are: year
, quarter
, month
, week
and day
. Grouping by date period can be done like this: reports/task_reports?group=organization,created_at:month,task
. For each report endpoint, there is a list of supported dates which can be used for grouping by date period.
Booking Reports ¶
Supported filter params
Supported filter params can be found on bookings endpoint
Supported group params
-
booking
-
person
-
service
-
event
-
service_type
-
pricing_type_id
-
budget
-
project
-
responsible
-
company
-
project_type
-
organization
-
people_custom_fields
-
approved_at
-
created_at
-
rejected_at
-
canceled_at
Supported date period dates
- date
GET /api/v2/reports/booking_reports
Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
"data": [
{
"id": "booking-report-booking-130-99914b932bd37a50b983c5e7c90ae93b",
"type": "booking_reports",
"attributes": {
"currency": "USD",
"currency_default": "USD",
"currency_normalized": "EUR",
"group": "booking",
"count": 2,
"formula_fields": {},
"time": 640,
"mandays": "1.0",
"start_date": "2025-07-26",
"end_date": "2025-07-26",
"approved_at": "2025-07-26",
"created_at": "2025-07-26",
"rejected_at": null,
"canceled_at": null,
"billing_type": 1,
"project_type": 2,
"approval_status": 1,
"stage_type": 1,
"absence_type": null,
"draft": false,
"autotracking": false,
"total_recognized_time": 0,
"average_recognized_margin": null,
"people_custom_fields": {},
"custom_fields": {},
"date_period": null,
"approved_at_period": null,
"created_at_period": null,
"rejected_at_period": null,
"canceled_at_period": null,
"average_blended_rate": 0,
"average_blended_rate_default": 0,
"average_blended_rate_normalized": 0,
"total_recognized_revenue": 0,
"total_recognized_revenue_default": 0,
"total_recognized_revenue_normalized": 0,
"total_cost": 0,
"total_cost_default": 0,
"total_cost_normalized": 0,
"total_base_cost": 0,
"total_base_cost_default": 0,
"total_base_cost_normalized": 0,
"total_recognized_profit": 0,
"total_recognized_profit_default": 0,
"total_recognized_profit_normalized": 0
},
"relationships": {
"organization": {
"data": {
"type": "organizations",
"id": "1082"
}
},
"report": {
"data": null
},
"booking": {
"meta": {
"included": false
}
}
}
}
],
"links": {
"first": "http://api-test.productive.io/api/v2/reports/booking_reports?page%5Bnumber%5D=1&page%5Bsize%5D=30",
"last": "http://api-test.productive.io/api/v2/reports/booking_reports?page%5Bnumber%5D=1&page%5Bsize%5D=30"
},
"meta": {
"current_page": 1,
"total_pages": 1,
"total_count": 1,
"page_size": 30,
"max_page_size": 200
}
}
Get booking reportsGET/api/v2/reports/booking_reports
Budget Reports ¶
Supported filter params
Supported filter params can be found on deals endpoint
Supported group params
-
budget
-
company
-
responsible
-
subsidiary
-
contract
-
project
-
purchase_order_number
-
status
-
project_type
-
organization
-
recurring
-
custom_fields
Supported date period dates
-
date
-
created_at
-
closed_at
-
end_date
-
last_activity_at
-
delivered_on
GET /api/v2/reports/budget_reports
Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
"data": [
{
"id": "budget-report-budget-768-99914b932bd37a50b983c5e7c90ae93b",
"type": "budget_reports",
"attributes": {
"currency": "EUR",
"currency_default": "USD",
"currency_normalized": null,
"group": "budget",
"count": 1,
"formula_fields": {},
"year": "2025",
"quarter": "2025/Q3",
"month": "2025/M07",
"week": "2025/W30",
"purchase_order_number": null,
"status": 1,
"project_type": 2,
"deal_type": 2,
"tracking_type_id": 1,
"recurring_interval_id": null,
"total_estimated_time": 0,
"total_budgeted_time": 0,
"total_estimated_remaining_time": 0,
"total_worked_time": 0,
"total_unapproved_time": 0,
"average_forecasted_time_usage": null,
"total_future_booked_time": 0,
"total_billable_time": 0,
"total_forecasted_billable_time": 0,
"average_profit_margin": null,
"average_profit_margin_default": null,
"average_profit_margin_normalized": null,
"average_budget_usage": null,
"average_budget_usage_default": null,
"average_budget_usage_normalized": null,
"average_forecasted_budget_overrun": null,
"average_forecasted_budget_overrun_default": null,
"average_forecasted_budget_overrun_normalized": null,
"average_forecasted_budget_usage": null,
"average_forecasted_budget_usage_default": null,
"average_forecasted_budget_usage_normalized": null,
"average_invoiced_percentage": null,
"average_invoiced_percentage_default": null,
"average_invoiced_percentage_normalized": null,
"recurring": false,
"custom_fields": {},
"next_occurrence_on_period": null,
"recurring_ends_on_period": null,
"recurring_starts_on_period": null,
"date_period": null,
"created_at_period": null,
"closed_at_period": null,
"end_date_period": null,
"last_activity_at_period": null,
"delivered_on_period": null,
"total_work_cost": 0,
"total_work_cost_default": 0,
"total_work_cost_normalized": null,
"total_cost": 0,
"total_cost_default": 0,
"total_cost_normalized": null,
"total_profit": 0,
"total_profit_default": 0,
"total_profit_normalized": null,
"total_future_cost": 0,
"total_future_cost_default": 0,
"total_future_cost_normalized": null,
"total_forecasted_cost": 0,
"total_forecasted_cost_default": 0,
"total_forecasted_cost_normalized": null,
"total_revenue": 0,
"total_revenue_default": 0,
"total_revenue_normalized": null,
"total_services_revenue": 0,
"total_services_revenue_default": 0,
"total_services_revenue_normalized": null,
"total_budget_total": 0,
"total_budget_total_default": 0,
"total_budget_total_normalized": null,
"total_budget_used": 0,
"total_budget_used_default": 0,
"total_budget_used_normalized": null,
"total_budget_remaining": 0,
"total_budget_remaining_default": 0,
"total_budget_remaining_normalized": null,
"average_actual_rate": 0,
"average_actual_rate_default": 0,
"average_actual_rate_normalized": null,
"total_future_budget_used": 0,
"total_future_budget_used_default": 0,
"total_future_budget_used_normalized": null,
"total_forecasted_budget_used": 0,
"total_forecasted_budget_used_default": 0,
"total_forecasted_budget_used_normalized": null,
"total_forecasted_budget_overrun": 0,
"total_forecasted_budget_overrun_default": 0,
"total_forecasted_budget_overrun_normalized": null,
"total_expense_billable": 0,
"total_expense_billable_default": 0,
"total_expense_billable_normalized": null,
"total_expense": 0,
"total_expense_default": 0,
"total_expense_normalized": null,
"total_invoiced": 0,
"total_invoiced_default": 0,
"total_invoiced_normalized": null,
"average_invoiced_rate": 0,
"average_invoiced_rate_default": 0,
"average_invoiced_rate_normalized": null,
"total_draft_invoiced": 0,
"total_draft_invoiced_default": 0,
"total_draft_invoiced_normalized": null,
"total_pending_invoicing": 0,
"total_pending_invoicing_default": 0,
"total_pending_invoicing_normalized": null,
"total_manually_invoiced": 0,
"total_manually_invoiced_default": 0,
"total_manually_invoiced_normalized": null,
"total_credited": 0,
"total_credited_default": 0,
"total_credited_normalized": null
},
"relationships": {
"organization": {
"data": {
"type": "organizations",
"id": "1118"
}
},
"report": {
"data": null
},
"budget": {
"meta": {
"included": false
}
}
}
}
],
"links": {
"first": "http://api-test.productive.io/api/v2/reports/budget_reports?page%5Bnumber%5D=1&page%5Bsize%5D=30",
"last": "http://api-test.productive.io/api/v2/reports/budget_reports?page%5Bnumber%5D=1&page%5Bsize%5D=30"
},
"meta": {
"current_page": 1,
"total_pages": 1,
"total_count": 1,
"page_size": 30,
"max_page_size": 200
}
}
Get budget reportsGET/api/v2/reports/budget_reports
Company Reports ¶
Supported filter params
Supported filter params can be found on companies endpoint
Supported group params
-
company, key: :company_id
-
status
-
organization
-
custom_fields
Supported sort params
-
company
-
custom_fields
-
status
-
year
-
quarter
-
month
-
week
-
count
-
company_name
-
company_code
-
company_created_at
-
billing_name
-
company_custom_fields
-
created_at
-
contact_phone
-
contact_email
-
contact_website
-
contact_city
-
contact_state
-
contact_zipcode
-
contact_address
Supported date period dates
- created_at
GET /api/v2/reports/company_reports
Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
"data": [
{
"id": "company-report-company-123-99914b932bd37a50b983c5e7c90ae93b",
"type": "company_reports",
"attributes": {
"group": "company",
"count": 1,
"year": "2025",
"quarter": "2025/Q3",
"month": "2025/M07",
"week": "2025/W30",
"status": 1,
"payment_terms": null,
"custom_fields": {},
"contact_phone": null,
"contact_email": null,
"contact_website": null,
"contact_city": null,
"contact_state": null,
"contact_country": null,
"contact_zipcode": null,
"contact_address": null,
"created_at_period": null,
"last_activity_at_period": null
},
"relationships": {
"organization": {
"data": {
"type": "organizations",
"id": "1147"
}
},
"report": {
"data": null
},
"company": {
"meta": {
"included": false
}
}
}
}
],
"links": {
"first": "http://api-test.productive.io/api/v2/reports/company_reports?page%5Bnumber%5D=1&page%5Bsize%5D=30",
"last": "http://api-test.productive.io/api/v2/reports/company_reports?page%5Bnumber%5D=1&page%5Bsize%5D=30"
},
"meta": {
"current_page": 1,
"total_pages": 1,
"total_count": 1,
"page_size": 30,
"max_page_size": 200
}
}
Get company reportsGET/api/v2/reports/company_reports
Funnel Reports ¶
Supported filter params
Supported filter params can be found on deals endpoint
Supported group params
-
deal
-
funnel
-
organization
GET /api/v2/reports/deal_funnel_reports
Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
"data": [
{
"id": "deal-funnel-report-deal_funnel-6266-99914b932bd37a50b983c5e7c90ae93b",
"type": "deal_funnel_reports",
"attributes": {
"currency": null,
"currency_default": "USD",
"currency_normalized": null,
"group": "deal_funnel",
"count": 0,
"formula_fields": {},
"lost_count": 0,
"total_projected_revenue": null,
"total_projected_revenue_default": 0,
"total_projected_revenue_normalized": null,
"total_budget_total": null,
"total_budget_total_default": 0,
"total_budget_total_normalized": null
},
"relationships": {
"organization": {
"data": {
"type": "organizations",
"id": "1166"
}
},
"report": {
"data": null
}
}
},
{
"id": "deal-funnel-report-deal_funnel-6267-99914b932bd37a50b983c5e7c90ae93b",
"type": "deal_funnel_reports",
"attributes": {
"currency": null,
"currency_default": "USD",
"currency_normalized": null,
"group": "deal_funnel",
"count": 0,
"formula_fields": {},
"lost_count": 0,
"total_projected_revenue": null,
"total_projected_revenue_default": 0,
"total_projected_revenue_normalized": null,
"total_budget_total": null,
"total_budget_total_default": 0,
"total_budget_total_normalized": null
},
"relationships": {
"organization": {
"data": {
"type": "organizations",
"id": "1166"
}
},
"report": {
"data": null
}
}
},
{
"id": "deal-funnel-report-deal_funnel-6268-99914b932bd37a50b983c5e7c90ae93b",
"type": "deal_funnel_reports",
"attributes": {
"currency": null,
"currency_default": "USD",
"currency_normalized": null,
"group": "deal_funnel",
"count": 0,
"formula_fields": {},
"lost_count": 0,
"total_projected_revenue": null,
"total_projected_revenue_default": 0,
"total_projected_revenue_normalized": null,
"total_budget_total": null,
"total_budget_total_default": 0,
"total_budget_total_normalized": null
},
"relationships": {
"organization": {
"data": {
"type": "organizations",
"id": "1166"
}
},
"report": {
"data": null
}
}
},
{
"id": "deal-funnel-report-deal_funnel-6269-99914b932bd37a50b983c5e7c90ae93b",
"type": "deal_funnel_reports",
"attributes": {
"currency": null,
"currency_default": "USD",
"currency_normalized": null,
"group": "deal_funnel",
"count": 0,
"formula_fields": {},
"lost_count": 0,
"total_projected_revenue": null,
"total_projected_revenue_default": 0,
"total_projected_revenue_normalized": null,
"total_budget_total": null,
"total_budget_total_default": 0,
"total_budget_total_normalized": null
},
"relationships": {
"organization": {
"data": {
"type": "organizations",
"id": "1166"
}
},
"report": {
"data": null
}
}
}
],
"links": {
"first": "http://api-test.productive.io/api/v2/reports/deal_funnel_reports?page%5Bnumber%5D=1&page%5Bsize%5D=30",
"last": "http://api-test.productive.io/api/v2/reports/deal_funnel_reports?page%5Bnumber%5D=1&page%5Bsize%5D=30"
},
"meta": {
"current_page": 1,
"total_pages": 1,
"total_count": 4,
"page_size": 30,
"max_page_size": 200
}
}
Get funnel reportsGET/api/v2/reports/deal_funnel_reports
Deal Reports ¶
Supported filter params
Supported filter params can be found on deals endpoint
Supported group params
-
deal
-
company
-
responsible
-
subsidiary
-
stage_status
-
deal_status
-
lost_reason
-
organization
-
custom_fields
-
contact
-
creator
Supported date period dates
-
date
-
created_at
-
last_activity_at
-
sales_status_updated_at
-
sales_closed_at
GET /api/v2/reports/deal_reports
Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
"data": [
{
"id": "deal-report-deal-831-99914b932bd37a50b983c5e7c90ae93b",
"type": "deal_reports",
"attributes": {
"currency": "EUR",
"currency_default": "USD",
"currency_normalized": null,
"group": "deal",
"count": 1,
"formula_fields": {},
"year": "2025",
"quarter": "2025/Q3",
"month": "2025/M07",
"week": "2025/W30",
"stage_status_id": 1,
"tracking_type_id": 1,
"probability": "0.5",
"previous_probability": null,
"total_worked_time": 0,
"total_billable_time": 0,
"total_estimated_time": 0,
"total_budgeted_time": 0,
"total_estimated_remaining_time": 0,
"custom_fields": {},
"date_period": null,
"created_at_period": null,
"last_activity_at_period": null,
"sales_closed_at_period": null,
"sales_closed_on_period": null,
"total_work_cost": 0,
"total_work_cost_default": 0,
"total_work_cost_normalized": null,
"total_cost": 0,
"total_cost_default": 0,
"total_cost_normalized": null,
"total_profit": 0,
"total_profit_default": 0,
"total_profit_normalized": null,
"total_revenue": 0,
"total_revenue_default": 0,
"total_revenue_normalized": null,
"total_services_revenue": 0,
"total_services_revenue_default": 0,
"total_services_revenue_normalized": null,
"total_projected_revenue": 0,
"total_projected_revenue_default": 0,
"total_projected_revenue_normalized": null,
"total_budget_total": 0,
"total_budget_total_default": 0,
"total_budget_total_normalized": null,
"total_budget_used": 0,
"total_budget_used_default": 0,
"total_budget_used_normalized": null,
"average_actual_rate": 0,
"average_actual_rate_default": 0,
"average_actual_rate_normalized": null,
"average_rate": 0,
"average_rate_default": 0,
"average_rate_normalized": null,
"total_expense": 0,
"total_expense_default": 0,
"total_expense_normalized": null,
"total_pending_invoicing": 0,
"total_pending_invoicing_default": 0,
"total_pending_invoicing_normalized": null
},
"relationships": {
"organization": {
"data": {
"type": "organizations",
"id": "1167"
}
},
"report": {
"data": null
},
"deal": {
"meta": {
"included": false
}
},
"pipeline": {
"meta": {
"included": false
}
},
"previous_deal_status": {
"meta": {
"included": false
}
}
}
}
],
"links": {
"first": "http://api-test.productive.io/api/v2/reports/deal_reports?page%5Bnumber%5D=1&page%5Bsize%5D=30",
"last": "http://api-test.productive.io/api/v2/reports/deal_reports?page%5Bnumber%5D=1&page%5Bsize%5D=30"
},
"meta": {
"current_page": 1,
"total_pages": 1,
"total_count": 1,
"page_size": 30,
"max_page_size": 200
}
}
Get deal reportsGET/api/v2/reports/deal_reports
Entitlement Reports ¶
Supported filter params
Supported filter params can be found on entitlements endpoint
Supported group params
-
entitlement
-
event
-
person
-
organization
-
people_custom_fields
Supported date period dates
-
start_date
-
end_date
GET /api/v2/reports/entitlement_reports
Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
"data": [
{
"id": "entitlement-report-entitlement-52-99914b932bd37a50b983c5e7c90ae93b",
"type": "entitlement_reports",
"attributes": {
"group": "entitlement",
"count": 1,
"formula_fields": {},
"total_allocated": "22.0",
"total_used": "0.0",
"total_available": "22.0",
"total_allocated_minutes": 0,
"total_used_minutes": 0,
"total_available_minutes": 0,
"description": null,
"absence_type": "time_off",
"people_custom_fields": {},
"start_date_period": null,
"end_date_period": null
},
"relationships": {
"organization": {
"data": {
"type": "organizations",
"id": "1196"
}
},
"report": {
"data": null
},
"entitlement": {
"meta": {
"included": false
}
}
}
}
],
"links": {
"first": "http://api-test.productive.io/api/v2/reports/entitlement_reports?page%5Bnumber%5D=1&page%5Bsize%5D=30",
"last": "http://api-test.productive.io/api/v2/reports/entitlement_reports?page%5Bnumber%5D=1&page%5Bsize%5D=30"
},
"meta": {
"current_page": 1,
"total_pages": 1,
"total_count": 1,
"page_size": 30,
"max_page_size": 200
}
}
Get entitlement reportsGET/api/v2/reports/entitlement_reports
Expense Reports ¶
Supported filter params
Supported filter params can be found on expenses endpoint
Supported group params
-
expense
-
deal
-
service_type
-
project
-
company
-
person
-
responsible
-
status
-
invoiced
-
invoicing_status
-
approval_status
-
reimbursement
-
organization
-
vendor
-
custom_fields
Supported date period dates
-
date
-
pay_on
-
paid_on
-
reimbursed_on
GET /api/v2/reports/expense_reports
Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
"data": [
{
"id": "expense-report-expense-127-99914b932bd37a50b983c5e7c90ae93b",
"type": "expense_reports",
"attributes": {
"currency": "EUR",
"currency_default": "USD",
"currency_normalized": "EUR",
"group": "expense",
"count": 1,
"formula_fields": {},
"year": "2025",
"quarter": "2025/Q3",
"month": "2025/M07",
"week": "2025/W30",
"status": 2,
"invoiced": false,
"invoicing_status": 1,
"section_name": null,
"approval_status": 2,
"reimbursement": 1,
"project_id": null,
"stage_type": 1,
"quote_type": 1,
"custom_fields": {},
"date_period": null,
"pay_on_period": null,
"paid_on_period": null,
"reimbursed_on_period": null,
"created_at_period": null,
"average_profit_margin": null,
"average_profit_margin_default": null,
"average_profit_margin_normalized": null,
"total_amount": 10000,
"total_amount_default": 12500,
"total_amount_normalized": 10000,
"total_profit": -10000,
"total_profit_default": -12500,
"total_profit_normalized": -10000,
"total_recognized_revenue": 0,
"total_recognized_revenue_default": 0,
"total_recognized_revenue_normalized": 0,
"total_billable_amount": 0,
"total_billable_amount_default": 0,
"total_billable_amount_normalized": 0,
"total_amount_with_tax": 10000,
"total_amount_with_tax_default": 12500,
"total_amount_with_tax_normalized": 10000,
"total_tax_amount": 0,
"total_tax_amount_default": 0,
"total_tax_amount_normalized": 0
},
"relationships": {
"organization": {
"data": {
"type": "organizations",
"id": "1211"
}
},
"report": {
"data": null
},
"expense": {
"meta": {
"included": false
}
},
"project": {
"meta": {
"included": false
}
}
}
}
],
"links": {
"first": "http://api-test.productive.io/api/v2/reports/expense_reports?page%5Bnumber%5D=1&page%5Bsize%5D=30",
"last": "http://api-test.productive.io/api/v2/reports/expense_reports?page%5Bnumber%5D=1&page%5Bsize%5D=30"
},
"meta": {
"current_page": 1,
"total_pages": 1,
"total_count": 1,
"page_size": 30,
"max_page_size": 200
}
}
Get expense reportsGET/api/v2/reports/expense_reports
Finanacial Item Reports ¶
Supported group params
-
financial_item
-
person
-
service
-
service_type
-
budget
-
project
-
company
-
pricing_type
-
project_type
-
future
-
organization
Supported sort params
-
budget
-
project
-
company
-
company_billing_name
-
service
-
service_type
-
person
-
resposible
-
pricing_type_id
-
project_type_id
-
count
-
total_time
-
total_billable_time
-
total_scheduled_time
-
total_recognized_time
-
total_recognized_revenue
-
total_scheduled_revenue
-
total_cost
-
total_scheduled_cost
-
total_recognized_profit
-
average_recognized_margin
-
average_blended_rate
-
financial_item_date
-
financial_item_type
-
financial_item_description
-
approval_status
-
total_budget_used
-
total_invoiced
-
total_credited
Supported date period dates
- date
GET /api/v2/reports/financial_item_reports
Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
"data": [
{
"id": "financial-item-report-financial_item-booking_item-376-99914b932bd37a50b983c5e7c90ae93b",
"type": "financial_item_reports",
"attributes": {
"currency": "EUR",
"currency_default": "USD",
"currency_normalized": "EUR",
"group": "financial_item",
"count": 1,
"formula_fields": {},
"financial_item_id": 376,
"financial_item_type": "booking_item",
"financial_item_date": "2025-07-26",
"financial_item_description": null,
"total_time": 640,
"total_billable_time": 640,
"total_scheduled_time": 640,
"total_recognized_time": 0,
"total_worked_time": 0,
"deal_status_id": null,
"billing_type_id": 2,
"project_type_id": 2,
"average_recognized_margin": null,
"future": 1,
"approval_status": 1,
"stage_type": 1,
"stage_status": 1,
"custom_fields": {},
"date_period": null,
"average_margin": null,
"average_margin_default": null,
"average_margin_normalized": null,
"total_recognized_revenue": 0,
"total_recognized_revenue_default": 0,
"total_recognized_revenue_normalized": 0,
"total_projected_revenue": 42666.666664,
"total_projected_revenue_default": 53333.33333,
"total_projected_revenue_normalized": 42666.666664,
"total_scheduled_revenue": 0,
"total_scheduled_revenue_default": 0,
"total_scheduled_revenue_normalized": 0,
"total_cost": 0,
"total_cost_default": 0,
"total_cost_normalized": 0,
"total_scheduled_cost": 0,
"total_scheduled_cost_default": 0,
"total_scheduled_cost_normalized": 0,
"total_recognized_profit": 0,
"total_recognized_profit_default": 0,
"total_recognized_profit_normalized": 0,
"average_blended_rate": 8000,
"average_blended_rate_default": 10000,
"average_blended_rate_normalized": 8000,
"total_budget_used": 85333.333328,
"total_budget_used_default": 106666.66666,
"total_budget_used_normalized": 85333.333328,
"total_invoiced": 0,
"total_invoiced_default": 0,
"total_invoiced_normalized": 0,
"total_credited": 0,
"total_credited_default": 0,
"total_credited_normalized": 0,
"total_expense_cost": 0,
"total_expense_cost_default": 0,
"total_expense_cost_normalized": 0,
"total_time_entry_cost": 0,
"total_time_entry_cost_default": 0,
"total_time_entry_cost_normalized": 0,
"total_overhead_cost": 0,
"total_overhead_cost_default": 0,
"total_overhead_cost_normalized": 0,
"total_budget_total": 0,
"total_budget_total_default": 0,
"total_budget_total_normalized": 0
},
"relationships": {
"organization": {
"data": {
"type": "organizations",
"id": "1272"
}
},
"report": {
"data": null
},
"person": {
"meta": {
"included": false
}
},
"service": {
"meta": {
"included": false
}
},
"budget": {
"meta": {
"included": false
}
},
"origin_deal": {
"meta": {
"included": false
}
},
"company": {
"meta": {
"included": false
}
},
"subsidiary": {
"meta": {
"included": false
}
},
"project": {
"meta": {
"included": false
}
},
"responsible": {
"meta": {
"included": false
}
},
"section": {
"meta": {
"included": false
}
},
"time_entry": {
"meta": {
"included": false
}
},
"booking_item": {
"meta": {
"included": false
}
},
"expense": {
"meta": {
"included": false
}
},
"invoice_attribution": {
"meta": {
"included": false
}
},
"revenue_item": {
"meta": {
"included": false
}
}
}
},
{
"id": "financial-item-report-financial_item-service-567-99914b932bd37a50b983c5e7c90ae93b",
"type": "financial_item_reports",
"attributes": {
"currency": "EUR",
"currency_default": "USD",
"currency_normalized": "EUR",
"group": "financial_item",
"count": 1,
"formula_fields": {},
"financial_item_id": 567,
"financial_item_type": "service",
"financial_item_date": "2025-07-26",
"financial_item_description": "test name",
"total_time": 0,
"total_billable_time": 0,
"total_scheduled_time": 0,
"total_recognized_time": 0,
"total_worked_time": 0,
"deal_status_id": null,
"billing_type_id": 2,
"project_type_id": 2,
"average_recognized_margin": null,
"future": 0,
"approval_status": null,
"stage_type": 1,
"stage_status": 1,
"custom_fields": {},
"date_period": null,
"average_margin": null,
"average_margin_default": null,
"average_margin_normalized": null,
"total_recognized_revenue": 0,
"total_recognized_revenue_default": 0,
"total_recognized_revenue_normalized": 0,
"total_projected_revenue": 4000,
"total_projected_revenue_default": 5000,
"total_projected_revenue_normalized": 4000,
"total_scheduled_revenue": 0,
"total_scheduled_revenue_default": 0,
"total_scheduled_revenue_normalized": 0,
"total_cost": 0,
"total_cost_default": 0,
"total_cost_normalized": 0,
"total_scheduled_cost": 0,
"total_scheduled_cost_default": 0,
"total_scheduled_cost_normalized": 0,
"total_recognized_profit": 0,
"total_recognized_profit_default": 0,
"total_recognized_profit_normalized": 0,
"average_blended_rate": 0,
"average_blended_rate_default": 0,
"average_blended_rate_normalized": 0,
"total_budget_used": 0,
"total_budget_used_default": 0,
"total_budget_used_normalized": 0,
"total_invoiced": 0,
"total_invoiced_default": 0,
"total_invoiced_normalized": 0,
"total_credited": 0,
"total_credited_default": 0,
"total_credited_normalized": 0,
"total_expense_cost": 0,
"total_expense_cost_default": 0,
"total_expense_cost_normalized": 0,
"total_time_entry_cost": 0,
"total_time_entry_cost_default": 0,
"total_time_entry_cost_normalized": 0,
"total_overhead_cost": 0,
"total_overhead_cost_default": 0,
"total_overhead_cost_normalized": 0,
"total_budget_total": 8000,
"total_budget_total_default": 10000,
"total_budget_total_normalized": 8000
},
"relationships": {
"organization": {
"data": {
"type": "organizations",
"id": "1272"
}
},
"report": {
"data": null
},
"person": {
"meta": {
"included": false
}
},
"service": {
"meta": {
"included": false
}
},
"budget": {
"meta": {
"included": false
}
},
"origin_deal": {
"meta": {
"included": false
}
},
"company": {
"meta": {
"included": false
}
},
"subsidiary": {
"meta": {
"included": false
}
},
"project": {
"meta": {
"included": false
}
},
"responsible": {
"meta": {
"included": false
}
},
"section": {
"meta": {
"included": false
}
},
"time_entry": {
"meta": {
"included": false
}
},
"booking_item": {
"meta": {
"included": false
}
},
"expense": {
"meta": {
"included": false
}
},
"invoice_attribution": {
"meta": {
"included": false
}
},
"revenue_item": {
"meta": {
"included": false
}
}
}
}
],
"links": {
"first": "http://api-test.productive.io/api/v2/reports/financial_item_reports?page%5Bnumber%5D=1&page%5Bsize%5D=30",
"last": "http://api-test.productive.io/api/v2/reports/financial_item_reports?page%5Bnumber%5D=1&page%5Bsize%5D=30"
},
"meta": {
"current_page": 1,
"total_pages": 1,
"total_count": 2,
"page_size": 30,
"max_page_size": 200
}
}
Get financial item reportsGET/api/v2/reports/financial_item_reports
Invoice Reports ¶
Supported filter params
Supported filter params can be found on invoices endpoint
Supported group params
-
invoice
-
company
-
subsidiary
-
sent_status
-
payment_status
-
overdue_status
-
invoice_aging
-
invoice_status
-
organization
-
custom_fields
-
creator
-
issuer
Supported sort params
-
invoice
-
budget
-
project
-
company
-
company_billing_time
-
subsidiary
-
creator
-
sent_status
-
payment_status
-
overdue_status
-
invoice_status
-
invoice_aging
-
invoice_state
-
currency
-
year
-
quarter
-
month
-
week
-
custom_fields
-
count
-
total_amount
-
total_amount_tax
-
total_amount_with_tax
-
total_amount_paid
-
total_amount_written_off
-
total_amount_unpaid
-
total_amount_credited
-
total_amount_credited_with_tax
-
average_due_in
-
average_paid_in
-
invoice_subject
-
invoice_invoiced_on
-
invoice_sent_on
-
invoice_pay_on
-
invoice_delivery_on
-
invoice_paid_on
-
invoice_discount
-
invoice_purchase_order_number
-
invoice_type
-
invoice_created_at
-
invoice_number
-
invoice_custom_fields
-
invoiced_on
-
pay_on
-
sent_on
-
delivery_on
-
paid_on
-
created_at
-
issuer
Supported date period dates
-
invoiced_on
-
pay_on
-
sent_on
-
delivery_on
-
paid_on
GET /api/v2/reports/invoice_reports
Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
"data": [
{
"id": "invoice-report-invoice-126-99914b932bd37a50b983c5e7c90ae93b",
"type": "invoice_reports",
"attributes": {
"currency": "EUR",
"currency_default": "USD",
"currency_normalized": null,
"group": "invoice",
"count": 1,
"formula_fields": {},
"sent_status": 2,
"payment_status": 1,
"overdue_status": 1,
"invoice_status": 4,
"invoice_aging": 0,
"invoice_state": 1,
"average_due_in": null,
"average_paid_in": null,
"currency_id": "EUR",
"invoice_type": 1,
"tax_rates": null,
"invoicing_method": null,
"year": "2025",
"quarter": "2025/Q3",
"month": "2025/M07",
"week": "2025/W30",
"custom_fields": {},
"invoiced_on_period": null,
"pay_on_period": null,
"sent_on_period": null,
"delivery_on_period": null,
"paid_on_period": null,
"created_at_period": null,
"last_activity_at_period": null,
"total_amount": 0,
"total_amount_default": 0,
"total_amount_normalized": null,
"total_amount_tax": 0,
"total_amount_tax_default": 0,
"total_amount_tax_normalized": null,
"total_amount_with_tax": 0,
"total_amount_with_tax_default": 0,
"total_amount_with_tax_normalized": null,
"total_amount_paid": 0,
"total_amount_paid_default": 0,
"total_amount_paid_normalized": null,
"total_amount_written_off": 0,
"total_amount_written_off_default": 0,
"total_amount_written_off_normalized": null,
"total_amount_unpaid": 0,
"total_amount_unpaid_default": 0,
"total_amount_unpaid_normalized": null,
"total_amount_credited": 0,
"total_amount_credited_default": 0,
"total_amount_credited_normalized": null,
"total_amount_credited_with_tax": 0,
"total_amount_credited_with_tax_default": 0,
"total_amount_credited_with_tax_normalized": null
},
"relationships": {
"organization": {
"data": {
"type": "organizations",
"id": "1345"
}
},
"report": {
"data": null
},
"invoice": {
"meta": {
"included": false
}
}
}
}
],
"links": {
"first": "http://api-test.productive.io/api/v2/reports/invoice_reports?page%5Bnumber%5D=1&page%5Bsize%5D=30",
"last": "http://api-test.productive.io/api/v2/reports/invoice_reports?page%5Bnumber%5D=1&page%5Bsize%5D=30"
},
"meta": {
"current_page": 1,
"total_pages": 1,
"total_count": 1,
"page_size": 30,
"max_page_size": 200
}
}
Get invoice reportsGET/api/v2/reports/invoice_reports
Line Item Reports ¶
Supported filter params
Supported filter params can be found on line items endpoint
Supported group params
-
line_item
-
invoice
-
service
-
expense
-
creator
-
updater
-
service_type
-
unit
-
organization
GET /api/v2/reports/line_item_reports
Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
"data": [
{
"id": "line-item-report-line_item-49-99914b932bd37a50b983c5e7c90ae93b",
"type": "line_item_reports",
"attributes": {
"currency": "EUR",
"currency_default": "USD",
"currency_normalized": null,
"group": "line_item",
"count": 1,
"unit_id": 2,
"tax_rate": null,
"unit_price": 5000,
"unit_price_default": 6250,
"unit_price_normalized": null,
"total_amount": 15000,
"total_amount_default": 18750,
"total_amount_normalized": null,
"total_amount_tax": 0,
"total_amount_tax_default": 0,
"total_amount_tax_normalized": null,
"total_amount_with_tax": 15000,
"total_amount_with_tax_default": 18750,
"total_amount_with_tax_normalized": null
},
"relationships": {
"organization": {
"data": {
"type": "organizations",
"id": "1392"
}
},
"report": {
"data": null
},
"line_item": {
"meta": {
"included": false
}
},
"invoice_report": {
"meta": {
"included": false
}
}
}
}
],
"links": {
"first": "http://api-test.productive.io/api/v2/reports/line_item_reports?page%5Bnumber%5D=1&page%5Bsize%5D=30",
"last": "http://api-test.productive.io/api/v2/reports/line_item_reports?page%5Bnumber%5D=1&page%5Bsize%5D=30"
},
"meta": {
"current_page": 1,
"total_pages": 1,
"total_count": 1,
"page_size": 30,
"max_page_size": 200
}
}
Get line item reportsGET/api/v2/reports/line_item_reports
Page Reports ¶
Supported filter params
Supported filter params can be found on pages endpoint
Supported group params
-
creator
-
organization
-
page
-
parent_page
-
root_page
-
updater
-
workspace
-
last_activity_at
Supported sort params
-
count
-
creator
-
created_at
-
edited_at
-
page_id
-
project
-
title
-
updater
-
last_activity_at
GET /api/v2/reports/page_reports?include=page
Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
"data": [
{
"id": "page-report-page-45-99914b932bd37a50b983c5e7c90ae93b",
"type": "page_reports",
"attributes": {
"group": "page",
"count": 1,
"edited_at": null,
"created_at": "2025-07-26",
"title": "Page title 45",
"last_activity_at": null,
"custom_fields": null
},
"relationships": {
"organization": {
"data": {
"type": "organizations",
"id": "1409"
}
},
"report": {
"data": null
},
"page": {
"data": {
"type": "pages",
"id": "45"
}
}
}
}
],
"included": [
{
"id": "45",
"type": "pages",
"attributes": {
"cover_image_meta": null,
"cover_image_url": null,
"created_at": "2025-07-26T06:10:35.299+02:00",
"custom_fields": null,
"edited_at": null,
"icon_id": null,
"position": null,
"preferences": {},
"title": "Page title 45",
"updated_at": "2025-07-26T06:10:35.301+02:00",
"version_number": null,
"last_activity_at": "2025-07-26T06:10:35.299+02:00"
},
"relationships": {
"organization": {
"data": {
"type": "organizations",
"id": "1409"
}
},
"creator": {
"meta": {
"included": false
}
},
"project": {
"meta": {
"included": false
}
}
}
}
],
"links": {
"first": "http://api-test.productive.io/api/v2/reports/page_reports?include=page&page%5Bnumber%5D=1&page%5Bsize%5D=30",
"last": "http://api-test.productive.io/api/v2/reports/page_reports?include=page&page%5Bnumber%5D=1&page%5Bsize%5D=30"
},
"meta": {
"current_page": 1,
"total_pages": 1,
"total_count": 1,
"page_size": 30,
"max_page_size": 200
}
}
Get page reportsGET/api/v2/reports/page_reports
Payment Reports ¶
Supported filter params
Supported filter params can be found on payments endpoint
Supported group params
-
payment
-
invoice
-
company
-
subsidiary
-
organization
Supported date period dates
- paid_on
GET /api/v2/reports/payment_reports
Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
"data": [
{
"id": "payment-report-payment-33-99914b932bd37a50b983c5e7c90ae93b",
"type": "payment_reports",
"attributes": {
"currency": "EUR",
"currency_default": "USD",
"currency_normalized": null,
"group": "payment",
"count": 1,
"formula_fields": {},
"year": "2025",
"quarter": "2025/Q3",
"month": "2025/M07",
"week": "2025/W30",
"date_period": null,
"total_amount": 10000,
"total_amount_default": 12500,
"total_amount_normalized": null
},
"relationships": {
"organization": {
"data": {
"type": "organizations",
"id": "1429"
}
},
"report": {
"data": null
},
"payment": {
"meta": {
"included": false
}
}
}
}
],
"links": {
"first": "http://api-test.productive.io/api/v2/reports/payment_reports?page%5Bnumber%5D=1&page%5Bsize%5D=30",
"last": "http://api-test.productive.io/api/v2/reports/payment_reports?page%5Bnumber%5D=1&page%5Bsize%5D=30"
},
"meta": {
"current_page": 1,
"total_pages": 1,
"total_count": 1,
"page_size": 30,
"max_page_size": 200
}
}
Get payment reportsGET/api/v2/reports/payment_reports
Payroll Item Reports ¶
Supported filter params
-
person_id
-
date
-
salary_id
-
salary_type_id
-
payroll_item_type
-
company_id
-
subsidiary_id
-
role_id
-
person_type
-
person_status
-
custom_fields
Supported group params
-
payroll_item
-
payroll_item_type
-
organization
-
person
-
salary
-
salary_type
-
company
-
subsidiary
-
role
-
person_type
-
person_status
-
custom_fields
Supported sort params
-
count
-
person
-
payroll_item_id
-
payroll_item_type
-
salary_id
-
salary_type_id
-
total_time
-
total_cost
-
date
-
start_date
-
end_date
-
company_id
-
subsidiary_id
-
role_id
-
person_type
-
person_status
-
custom_fields
Supported date period dates
- date
GET /api/v2/reports/payroll_item_reports
Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
"data": [
{
"id": "payroll-item-report-payroll_item-salary-215-99914b932bd37a50b983c5e7c90ae93b",
"type": "payroll_item_reports",
"attributes": {
"currency": "EUR",
"currency_default": "USD",
"currency_normalized": null,
"group": "payroll_item",
"count": 1,
"formula_fields": {},
"payroll_item_id": 215,
"payroll_item_type": "salary",
"salary_type_id": 1,
"role_id": 3,
"person_type": 1,
"person_status": 1,
"start_date": "2025-07-16",
"end_date": null,
"total_time": 0,
"total_time_off_time": 0,
"total_scheduled_time": 0,
"total_capacity": 640,
"total_availability": 640,
"custom_fields": {},
"total_cost": 21333,
"total_cost_default": 26667,
"total_cost_normalized": null,
"total_time_off_cost": 0,
"total_time_off_cost_default": 0,
"total_time_off_cost_normalized": null
},
"relationships": {
"organization": {
"data": {
"type": "organizations",
"id": "1450"
}
},
"report": {
"data": null
},
"person": {
"meta": {
"included": false
}
},
"salary": {
"meta": {
"included": false
}
},
"time_entry": {
"meta": {
"included": false
}
},
"booking": {
"meta": {
"included": false
}
},
"company": {
"meta": {
"included": false
}
},
"subsidiary": {
"meta": {
"included": false
}
}
}
}
],
"links": {
"first": "http://api-test.productive.io/api/v2/reports/payroll_item_reports?page%5Bnumber%5D=1&page%5Bsize%5D=30",
"last": "http://api-test.productive.io/api/v2/reports/payroll_item_reports?page%5Bnumber%5D=1&page%5Bsize%5D=30"
},
"meta": {
"current_page": 1,
"total_pages": 1,
"total_count": 1,
"page_size": 30,
"max_page_size": 200
}
}
Get payroll item reportsGET/api/v2/reports/payroll_item_reports
Person Reports ¶
Supported filter params
Supported filter params can be found on people endpoint
Supported group params
-
person
-
company
-
subsidiary
-
role_id
-
type
-
status
-
organization
-
autotracking
-
custom_role
-
manager
-
custom_fields
Supported date period dates
-
created_at
-
joined_at
-
last_activity_at
GET /api/v2/reports/person_reports
Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
"data": [
{
"id": "person-report-person-5514-99914b932bd37a50b983c5e7c90ae93b",
"type": "person_reports",
"attributes": {
"group": "person",
"count": 1,
"year": "2025",
"quarter": "2025/Q3",
"month": "2025/M07",
"week": "2025/W30",
"role_id": 1,
"status": 1,
"offboarding_status": "not_initiated",
"autotracking": false,
"type": 1,
"custom_fields": {},
"contact_phone": null,
"contact_email": null,
"contact_website": null,
"contact_city": null,
"contact_state": null,
"contact_country": null,
"contact_zipcode": null,
"contact_address": null,
"created_at_period": null,
"joined_at_period": null,
"deactivated_at_period": null,
"last_activity_at_period": null
},
"relationships": {
"organization": {
"data": {
"type": "organizations",
"id": "1452"
}
},
"report": {
"data": null
},
"person": {
"meta": {
"included": false
}
}
}
}
],
"links": {
"first": "http://api-test.productive.io/api/v2/reports/person_reports?page%5Bnumber%5D=1&page%5Bsize%5D=30",
"last": "http://api-test.productive.io/api/v2/reports/person_reports?page%5Bnumber%5D=1&page%5Bsize%5D=30"
},
"meta": {
"current_page": 1,
"total_pages": 1,
"total_count": 1,
"page_size": 30,
"max_page_size": 200
}
}
Get person reportsGET/api/v2/reports/person_reports
Price Reports ¶
Supported filter params
Supported filter params can be found on reports endpoint
Supported group params
-
price
-
service_type
-
company
-
rate_card
-
organization
-
currency
-
time_tracking_enabled
-
booking_tracking_enabled
-
expense_tracking_enabled
GET /api/v2/reports/price_reports
Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
"data": [
{
"id": "price-report-price-21-99914b932bd37a50b983c5e7c90ae93b",
"type": "price_reports",
"attributes": {
"currency": "USD",
"currency_default": "USD",
"currency_normalized": null,
"group": "price",
"count": 1,
"average_discount": null,
"average_markup": null,
"rate_card_status": 1,
"time_tracking_enabled": true,
"booking_tracking_enabled": true,
"expense_tracking_enabled": true,
"average_rate": 10000,
"average_rate_default": 10000,
"average_rate_normalized": null,
"average_discounted_rate": 10000,
"average_discounted_rate_default": 10000,
"average_discounted_rate_normalized": null,
"average_discount_amount": 0,
"average_discount_amount_default": 0,
"average_discount_amount_normalized": null,
"average_markup_amount": 0,
"average_markup_amount_default": 0,
"average_markup_amount_normalized": null
},
"relationships": {
"organization": {
"data": {
"type": "organizations",
"id": "1517"
}
},
"report": {
"data": null
},
"price": {
"meta": {
"included": false
}
}
}
}
],
"links": {
"first": "http://api-test.productive.io/api/v2/reports/price_reports?page%5Bnumber%5D=1&page%5Bsize%5D=30",
"last": "http://api-test.productive.io/api/v2/reports/price_reports?page%5Bnumber%5D=1&page%5Bsize%5D=30"
},
"meta": {
"current_page": 1,
"total_pages": 1,
"total_count": 1,
"page_size": 30,
"max_page_size": 200
}
}
Get price reportsGET/api/v2/reports/price_reports
Project Reports ¶
Supported filter params
Supported filter params can be found on projects endpoint
Supported group params
-
project
-
company
-
project_manager
-
project_status
-
project_type
-
public_access
-
organization
-
custom_fields
Supported date period dates
-
created_at
-
last_activity_at
GET /api/v2/reports/project_reports?include=project
Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
"data": [
{
"id": "project-report-project-1139-99914b932bd37a50b983c5e7c90ae93b",
"type": "project_reports",
"attributes": {
"currency": null,
"currency_default": "USD",
"currency_normalized": null,
"group": "project",
"count": 1,
"formula_fields": {},
"year": "2025",
"quarter": "2025/Q3",
"month": "2025/M07",
"week": "2025/W30",
"project_status": 1,
"project_type": 2,
"total_worked_time": null,
"total_estimated_time": null,
"public_access": true,
"custom_fields": {},
"created_at_period": null,
"last_activity_at_period": null,
"average_profit_margin": null,
"average_profit_margin_default": null,
"average_profit_margin_normalized": null,
"total_revenue": null,
"total_revenue_default": 0,
"total_revenue_normalized": null,
"total_projected_revenue": null,
"total_projected_revenue_default": 0,
"total_projected_revenue_normalized": null,
"total_cost": null,
"total_cost_default": 0,
"total_cost_normalized": null,
"total_profit": null,
"total_profit_default": 0,
"total_profit_normalized": null,
"total_pending_invoicing": null,
"total_pending_invoicing_default": 0,
"total_pending_invoicing_normalized": null,
"total_needs_invoicing": null,
"total_needs_invoicing_default": 0,
"total_needs_invoicing_normalized": null
},
"relationships": {
"organization": {
"data": {
"type": "organizations",
"id": "1528"
}
},
"report": {
"data": null
},
"project": {
"data": {
"type": "projects",
"id": "1139"
}
}
}
}
],
"included": [
{
"id": "1139",
"type": "projects",
"attributes": {
"name": "test project",
"number": "1",
"preferences": {},
"project_number": "1",
"project_type_id": 2,
"project_color_id": null,
"last_activity_at": "2025-07-26T06:10:51.000+02:00",
"public_access": true,
"time_on_tasks": false,
"tag_colors": {},
"archived_at": null,
"created_at": "2025-07-26T06:10:51.822+02:00",
"template": false,
"custom_fields": null,
"task_custom_fields_ids": null,
"task_custom_fields_positions": null,
"page_custom_fields_ids": null,
"page_custom_fields_positions": null,
"sample_data": false
},
"relationships": {
"organization": {
"data": {
"type": "organizations",
"id": "1528"
}
},
"company": {
"meta": {
"included": false
}
},
"project_manager": {
"meta": {
"included": false
}
},
"last_actor": {
"meta": {
"included": false
}
},
"workflow": {
"meta": {
"included": false
}
},
"custom_field_people": {
"meta": {
"included": false
}
},
"custom_field_attachments": {
"meta": {
"included": false
}
},
"template_object": {
"meta": {
"included": false
}
}
}
}
],
"links": {
"first": "http://api-test.productive.io/api/v2/reports/project_reports?include=project&page%5Bnumber%5D=1&page%5Bsize%5D=30",
"last": "http://api-test.productive.io/api/v2/reports/project_reports?include=project&page%5Bnumber%5D=1&page%5Bsize%5D=30"
},
"meta": {
"current_page": 1,
"total_pages": 1,
"total_count": 1,
"page_size": 30,
"max_page_size": 200
}
}
Get project reportsGET/api/v2/reports/project_reports
Salary Reports ¶
Supported filter params
-
ended_on
-
salary_id
-
salary_type_id (1: monthly, 2: hourly, 3: weekly, 4: bi-weekly, 5: annually)
-
person_id
-
started_on
-
time
Supported relationship filter params
- person
Supported group params
-
salary
-
organization
-
people_custom_fields
-
person
Supported date period dates
-
start_date
-
end_date
GET /api/v2/reports/salary_reports
Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
"data": [
{
"id": "salary-report-salary-216-99914b932bd37a50b983c5e7c90ae93b",
"type": "new_salary_reports",
"attributes": {
"currency": "EUR",
"currency_default": "USD",
"currency_normalized": null,
"group": "salary",
"count": 1,
"formula_fields": {},
"time": 184000,
"capacity": 184000,
"work_days": 383,
"salary_type_id": 2,
"total_estimated_weekly_hours": 1284000,
"overhead": 1,
"people_custom_fields": {},
"start_date_period": null,
"end_date_period": null,
"date_period": null,
"total_hourly_cost": 2000,
"total_hourly_cost_default": 2500,
"total_hourly_cost_normalized": null,
"total_weekly_cost": 80000,
"total_weekly_cost_default": 100000,
"total_weekly_cost_normalized": null,
"total_bi_weekly_cost": 160000,
"total_bi_weekly_cost_default": 200000,
"total_bi_weekly_cost_normalized": null,
"total_monthly_cost": 320000,
"total_monthly_cost_default": 400000,
"total_monthly_cost_normalized": null,
"total_annually_cost": 3840000,
"total_annually_cost_default": 4800000,
"total_annually_cost_normalized": null,
"total_period_cost": 6133333,
"total_period_cost_default": 7666667,
"total_period_cost_normalized": null,
"total_overhead_cost_per_hour": 0,
"total_overhead_cost_per_hour_default": 0,
"total_overhead_cost_per_hour_normalized": null
},
"relationships": {
"organization": {
"data": {
"type": "organizations",
"id": "1559"
}
},
"report": {
"data": null
},
"salary": {
"meta": {
"included": false
}
}
}
}
],
"links": {
"first": "http://api-test.productive.io/api/v2/reports/salary_reports?page%5Bnumber%5D=1&page%5Bsize%5D=30",
"last": "http://api-test.productive.io/api/v2/reports/salary_reports?page%5Bnumber%5D=1&page%5Bsize%5D=30"
},
"meta": {
"current_page": 1,
"total_pages": 1,
"total_count": 1,
"page_size": 30,
"max_page_size": 200
}
}
Get salary reportsGET/api/v2/reports/salary_reports
Service Reports ¶
Supported filter params
Supported filter params can be found on services endpoint
Supported group params
-
service
-
budget
-
service_type
-
company
-
responsible
-
subsidiary
-
project
-
budget_status
-
stage_status
-
project_type
-
organization
-
recurring
-
time_tracking_enabled
-
expense_tracking_enabled
-
budget_custom_fields
-
pricing_type
-
billable
-
unit
Supported date period dates
- date
GET /api/v2/reports/service_reports
Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
"data": [
{
"id": "service-report-service-777-99914b932bd37a50b983c5e7c90ae93b",
"type": "service_reports",
"attributes": {
"currency": "EUR",
"currency_default": "USD",
"currency_normalized": null,
"group": "service",
"count": 1,
"formula_fields": {},
"budget_status": 1,
"stage_status_id": 1,
"project_type": 2,
"billing_type": 1,
"unit": 2,
"billable": 1,
"total_booked_time": 0,
"total_worked_time": 0,
"total_unapproved_time": 0,
"total_future_booked_time": 0,
"total_left_to_schedule_time": null,
"total_estimated_time": null,
"total_budgeted_time": null,
"total_rolled_over_time": 0,
"total_estimated_remaining_time": null,
"total_billable_time": 0,
"total_forecasted_billable_time": 0,
"total_remaining_scheduled_time": null,
"average_forecasted_budget_usage": "0.0",
"average_forecasted_budget_usage_default": "0.0",
"average_forecasted_budget_usage_normalized": null,
"average_budget_usage": "0.0",
"average_budget_usage_default": "0.0",
"average_budget_usage_normalized": null,
"average_forecasted_margin": "100.0",
"average_forecasted_margin_default": "100.0",
"average_forecasted_margin_normalized": null,
"average_profit_margin": null,
"average_profit_margin_default": null,
"average_profit_margin_normalized": null,
"average_forecasted_time_usage": null,
"average_discount": null,
"average_markup": null,
"section_name": null,
"stage_type": 1,
"recurring": false,
"time_tracking_enabled": true,
"expense_tracking_enabled": true,
"booking_tracking_enabled": true,
"budget_cap_enabled": false,
"budget_custom_fields": {},
"custom_fields": {},
"date_period": null,
"total_revenue": 0,
"total_revenue_default": 0,
"total_revenue_normalized": null,
"total_projected_revenue": 50000,
"total_projected_revenue_default": 62500,
"total_projected_revenue_normalized": null,
"total_price": 100000,
"total_price_default": 125000,
"total_price_normalized": null,
"total_budget_total": 100000,
"total_budget_total_default": 125000,
"total_budget_total_normalized": null,
"total_budget_used": 0,
"total_budget_used_default": 0,
"total_budget_used_normalized": null,
"total_budget_remaining": 100000,
"total_budget_remaining_default": 125000,
"total_budget_remaining_normalized": null,
"total_future_budget_used": 0,
"total_future_budget_used_default": 0,
"total_future_budget_used_normalized": null,
"total_forecasted_revenue": 100000,
"total_forecasted_revenue_default": 125000,
"total_forecasted_revenue_normalized": null,
"total_forecasted_budget_used": 0,
"total_forecasted_budget_used_default": 0,
"total_forecasted_budget_used_normalized": null,
"total_discount_amount": 0,
"total_discount_amount_default": 0,
"total_discount_amount_normalized": null,
"total_markup_amount": 0,
"total_markup_amount_default": 0,
"total_markup_amount_normalized": null,
"average_actual_rate": 0,
"average_actual_rate_default": 0,
"average_actual_rate_normalized": null,
"total_future_revenue": 0,
"total_future_revenue_default": 0,
"total_future_revenue_normalized": null,
"total_worked_cost": 0,
"total_worked_cost_default": 0,
"total_worked_cost_normalized": null,
"total_expense_cost": 0,
"total_expense_cost_default": 0,
"total_expense_cost_normalized": null,
"total_cost": 0,
"total_cost_default": 0,
"total_cost_normalized": null,
"total_profit": 100000,
"total_profit_default": 125000,
"total_profit_normalized": null,
"total_future_cost": 0,
"total_future_cost_default": 0,
"total_future_cost_normalized": null,
"total_forecasted_cost": 0,
"total_forecasted_cost_default": 0,
"total_forecasted_cost_normalized": null,
"total_forecasted_profit": 100000,
"total_forecasted_profit_default": 125000,
"total_forecasted_profit_normalized": null
},
"relationships": {
"organization": {
"data": {
"type": "organizations",
"id": "1576"
}
},
"report": {
"data": null
},
"service": {
"meta": {
"included": false
}
},
"origin_deal": {
"meta": {
"included": false
}
},
"deal_status": {
"meta": {
"included": false
}
},
"pipeline": {
"meta": {
"included": false
}
}
}
}
],
"links": {
"first": "http://api-test.productive.io/api/v2/reports/service_reports?page%5Bnumber%5D=1&page%5Bsize%5D=30",
"last": "http://api-test.productive.io/api/v2/reports/service_reports?page%5Bnumber%5D=1&page%5Bsize%5D=30"
},
"meta": {
"current_page": 1,
"total_pages": 1,
"total_count": 1,
"page_size": 30,
"max_page_size": 200
}
}
Get service reportsGET/api/v2/reports/service_reports
Survey Reports ¶
Supported filter params
Supported filter params can be found on surveys endpoint
Supported group params
-
creator
-
organization
-
project
-
survey
-
updater
Supported sort params
-
count
-
creator
-
created_at
-
project
-
survey
-
title
-
updater
GET /api/v2/reports/survey_reports
Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
"data": [
{
"id": "survey-report-survey-1-99914b932bd37a50b983c5e7c90ae93b",
"type": "survey_reports",
"attributes": {
"group": "survey",
"count": 1,
"created_at": "2025-07-26",
"title": "Survey1"
},
"relationships": {
"organization": {
"data": {
"type": "organizations",
"id": "1699"
}
},
"report": {
"data": null
},
"survey": {
"meta": {
"included": false
}
}
}
}
],
"links": {
"first": "http://api-test.productive.io/api/v2/reports/survey_reports?page%5Bnumber%5D=1&page%5Bsize%5D=30",
"last": "http://api-test.productive.io/api/v2/reports/survey_reports?page%5Bnumber%5D=1&page%5Bsize%5D=30"
},
"meta": {
"current_page": 1,
"total_pages": 1,
"total_count": 1,
"page_size": 30,
"max_page_size": 200
}
}
Get survey reportsGET/api/v2/reports/survey_reports
Task Reports ¶
Supported filter params
Supported filter params can be found on tasks endpoint
Supported group params
-
task
-
project
-
task_list
-
board
-
assignee
-
creator
-
last_actor
-
company
-
status
-
organization
-
custom_fields
Supported date period dates
-
created_at
-
closed_at
-
last_activity_at
-
due_date
-
start_date
GET /api/v2/reports/task_reports?include=task
Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
"data": [
{
"id": "task-report-task-201-99914b932bd37a50b983c5e7c90ae93b",
"type": "task_reports",
"attributes": {
"group": "task",
"count": 1,
"formula_fields": {},
"year": "2025",
"quarter": "2025/Q3",
"month": "2025/M07",
"week": "2025/W30",
"status": 1,
"total_billable_time": 0,
"total_worked_time": 0,
"total_initial_estimate": 0,
"total_remaining_time": 0,
"total_estimation_offset_time": 0,
"total_estimate_at_completion": 0,
"workflow_status_category_id": 2,
"repeating": 0,
"custom_fields": {},
"created_at_period": null,
"closed_at_period": null,
"last_activity_at_period": null,
"due_date_period": null,
"start_date_period": null
},
"relationships": {
"organization": {
"data": {
"type": "organizations",
"id": "1700"
}
},
"report": {
"data": null
},
"task": {
"data": {
"type": "tasks",
"id": "201"
}
}
}
}
],
"included": [
{
"id": "201",
"type": "tasks",
"attributes": {
"title": "Ticket title",
"description": null,
"number": "1",
"task_number": "1",
"private": false,
"due_date": null,
"start_date": null,
"closed_at": null,
"created_at": "2025-07-26T06:12:03.601+02:00",
"updated_at": "2025-07-26T06:12:03.601+02:00",
"repeat_schedule_id": null,
"repeat_on_interval": null,
"repeat_on_monthday": null,
"repeat_on_weekday": [],
"repeat_on_date": null,
"repeat_origin_id": null,
"email_key": "48933eab3301aaf703dfeab55fa7a042",
"custom_fields": null,
"todo_count": null,
"open_todo_count": null,
"subtask_count": null,
"open_subtask_count": null,
"creation_method_id": 1,
"todo_assignee_ids": [],
"task_dependency_count": 0,
"type_id": 1,
"blocking_dependency_count": 0,
"waiting_on_dependency_count": 0,
"linked_dependency_count": 0,
"placement": null,
"subtask_placement": null,
"closed": false,
"due_time": null,
"tag_list": [],
"last_activity_at": "2025-07-26T06:12:03.000+02:00",
"initial_estimate": null,
"remaining_time": null,
"billable_time": null,
"worked_time": null,
"deleted_at": null
},
"relationships": {
"organization": {
"data": {
"type": "organizations",
"id": "1700"
}
},
"project": {
"meta": {
"included": false
}
},
"creator": {
"meta": {
"included": false
}
},
"assignee": {
"meta": {
"included": false
}
},
"last_actor": {
"meta": {
"included": false
}
},
"task_list": {
"meta": {
"included": false
}
},
"parent_task": {
"meta": {
"included": false
}
},
"workflow_status": {
"meta": {
"included": false
}
},
"repeated_task": {
"meta": {
"included": false
}
},
"attachments": {
"meta": {
"included": false
}
},
"custom_field_people": {
"meta": {
"included": false
}
},
"custom_field_attachments": {
"meta": {
"included": false
}
}
}
}
],
"links": {
"first": "http://api-test.productive.io/api/v2/reports/task_reports?include=task&page%5Bnumber%5D=1&page%5Bsize%5D=30",
"last": "http://api-test.productive.io/api/v2/reports/task_reports?include=task&page%5Bnumber%5D=1&page%5Bsize%5D=30"
},
"meta": {
"current_page": 1,
"total_pages": 1,
"total_count": 1,
"page_size": 30,
"max_page_size": 200
}
}
Get task reportsGET/api/v2/reports/task_reports
Time Entry Reports ¶
Supported filter params
Supported filter params can be found on time entries endpoint
Supported group params
-
time_entry
-
person
-
task
-
service
-
service_type
-
pricing_type_id
-
budget
-
project
-
responsible
-
company
-
status
-
invoiced
-
organization
-
people_custom_fields
-
project_type_id
-
autotracked
-
invoicing_status
-
last_actor
-
last_activity_at
Supported date period dates
-
date
-
created_at
-
last_activity_at
GET /api/v2/reports/time_entry_reports
Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
"data": [
{
"id": "time-entry-report-time_entry-54-99914b932bd37a50b983c5e7c90ae93b",
"type": "time_entry_reports",
"attributes": {
"currency": "USD",
"currency_default": "USD",
"currency_normalized": "EUR",
"group": "time_entry",
"count": 1,
"formula_fields": {},
"year": "2025",
"quarter": "2025/Q3",
"month": "2025/M07",
"week": "2025/W30",
"day": "Jul 26, 2025",
"status": 2,
"jira_issue_id": null,
"jira_issue_status": null,
"jira_issue_summary": null,
"invoiced": false,
"invoicing_status": 1,
"overhead": false,
"section_name": null,
"total_time": 480,
"total_billable_time": 480,
"total_recognized_time": 0,
"billing_type": 1,
"unit_id": 2,
"project_type_id": 2,
"track_method_id": 1,
"average_recognized_margin": null,
"autotracked": 0,
"stage_type": 2,
"intercompany_hours": 2,
"people_custom_fields": {},
"custom_fields": {},
"date_period": null,
"created_at_period": null,
"last_activity_at_period": null,
"started_at": null,
"ended_at": null,
"total_cost": 0,
"total_cost_default": 0,
"total_cost_normalized": 0,
"total_work_cost": 0,
"total_work_cost_default": 0,
"total_work_cost_normalized": 0,
"total_overhead_cost": 0,
"total_overhead_cost_default": 0,
"total_overhead_cost_normalized": 0,
"total_internal_overhead_cost": 0,
"total_internal_overhead_cost_default": 0,
"total_internal_overhead_cost_normalized": 0,
"total_facility_overhead_cost": 0,
"total_facility_overhead_cost_default": 0,
"total_facility_overhead_cost_normalized": 0,
"average_blended_rate": 0,
"average_blended_rate_default": 0,
"average_blended_rate_normalized": 0,
"total_recognized_revenue": 0,
"total_recognized_revenue_default": 0,
"total_recognized_revenue_normalized": 0,
"total_recognized_profit": 0,
"total_recognized_profit_default": 0,
"total_recognized_profit_normalized": 0,
"total_billable_revenue": 0,
"total_billable_revenue_default": 0,
"total_billable_revenue_normalized": 0
},
"relationships": {
"organization": {
"data": {
"type": "organizations",
"id": "1754"
}
},
"report": {
"data": null
},
"time_entry": {
"meta": {
"included": false
}
}
}
}
],
"links": {
"first": "http://api-test.productive.io/api/v2/reports/time_entry_reports?page%5Bnumber%5D=1&page%5Bsize%5D=30",
"last": "http://api-test.productive.io/api/v2/reports/time_entry_reports?page%5Bnumber%5D=1&page%5Bsize%5D=30"
},
"meta": {
"current_page": 1,
"total_pages": 1,
"total_count": 1,
"page_size": 30,
"max_page_size": 200
}
}
Get time entry reportsGET/api/v2/reports/time_entry_reports
Time Reports ¶
Supported group params
-
person
-
service
-
service_type
-
budget
-
project
-
company
-
event
-
future
-
organization
-
people_custom_fields
-
subsidiary
-
manager
Supported date period dates
- date
GET /api/v2/reports/time_reports
Headers
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Content-Type: application/vnd.api+json
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
"data": [
{
"id": "time-report-person-7449-99914b932bd37a50b983c5e7c90ae93b",
"type": "new_time_reports",
"attributes": {
"currency": "USD",
"currency_default": "USD",
"currency_normalized": "EUR",
"group": "person",
"count": 1,
"formula_fields": {},
"future": 0,
"billing_type": null,
"stage_type": 1,
"date_period": null,
"capacity": 0,
"available_time": 0,
"scheduled_time": 0,
"draft_scheduled_time": 0,
"scheduled_internal_time": 0,
"draft_scheduled_internal_time": 0,
"scheduled_client_time": 0,
"draft_scheduled_client_time": 0,
"scheduled_billable_time": 0,
"draft_scheduled_billable_time": 0,
"scheduled_event_time": 0,
"scheduled_remote_work_time": 0,
"internal_time": 0,
"client_time": 100,
"billable_time": 0,
"unapproved_time": 100,
"worked_time": 100,
"paid_event_time": 0,
"unpaid_event_time": 0,
"event_time": 0,
"workload": 0,
"recognized_scheduled_time": 0,
"recognized_time": 0,
"holiday_time": 0,
"year": "2025",
"quarter": "2025/Q3",
"month": "2025/M07",
"week": "2025/W30",
"day": "2025-07-26",
"average_cost_rate": 0,
"average_cost_rate_default": 0,
"average_cost_rate_normalized": 0,
"total_cost": 0,
"total_cost_default": 0,
"total_cost_normalized": 0,
"total_work_cost": 0,
"total_work_cost_default": 0,
"total_work_cost_normalized": 0,
"total_scheduled_revenue": 0,
"total_scheduled_revenue_default": 0,
"total_scheduled_revenue_normalized": 0,
"total_draft_scheduled_revenue": 0,
"total_draft_scheduled_revenue_default": 0,
"total_draft_scheduled_revenue_normalized": 0,
"total_scheduled_cost": 0,
"total_scheduled_cost_default": 0,
"total_scheduled_cost_normalized": 0,
"total_draft_scheduled_cost": 0,
"total_draft_scheduled_cost_default": 0,
"total_draft_scheduled_cost_normalized": 0,
"people_custom_fields": {}
},
"relationships": {
"organization": {
"data": {
"type": "organizations",
"id": "1832"
}
},
"report": {
"data": null
},
"person": {
"meta": {
"included": false
}
},
"event": {
"meta": {
"included": false
}
}
}
}
],
"links": {
"first": "http://api-test.productive.io/api/v2/reports/time_reports?page%5Bnumber%5D=1&page%5Bsize%5D=30",
"last": "http://api-test.productive.io/api/v2/reports/time_reports?page%5Bnumber%5D=1&page%5Bsize%5D=30"
},
"meta": {
"current_page": 1,
"total_pages": 1,
"total_count": 1,
"page_size": 30,
"max_page_size": 200
}
}
Get time reportsGET/api/v2/reports/time_reports
Generated by aglio on 26 Jul 2025