Reports

Get booking reports

Changed on

Retrieve aggregated booking report data grouped by configurable dimensions.

get/api/v2/reports/booking_reports

Request

  • Base URL
    https://developer.productive.io (the document declares no server; this is the origin it was published from)
  • URL
    https://developer.productive.io/api/v2/reports/booking_reports
  • Auth
    none declared

Query parameters

OR

Filters

{
  "0": {
    "id": {
      "eq": "123"
    }
  },
  "$op": "and"
}
sortstring[]

Sort booking report

group'absence_type' | 'approval_status' | 'approved_at' | 'autotracking' | 'billing_type' | 'booking' | 'budget' | 'canceled_at' | 'company' | 'created_at' | 'custom_fields' | 'date' | 'draft' | 'event' | 'organization' | 'people_custom_fields' | 'person' | 'project' | 'project_type' | 'rejected_at' | 'responsible' | 'service' | 'service_type' | 'stage_type' | 'task'

Group booking report

Response

Collection booking report

Example response

{
  "data": [
    {
      "id": "r-002",
      "type": "booking_reports",
      "attributes": {
        "total_time": 2400,
        "billable_time": 2400,
        "nonbillable_time": 0,
        "total_working_days": 5,
        "person_id": 12,
        "project_id": 6899,
        "service_id": 1856422,
        "started_on": "2026-03-17",
        "ended_on": "2026-03-21",
        "revenue": "1500.00",
        "cost": "800.00",
        "currency": "USD"
      }
    }
  ],
  "included": [],
  "meta": {
    "current_page": 1,
    "total_pages": 5,
    "total_count": 42,
    "page_size": 30,
    "max_page_size": 200
  }
}

Changes

    • info

      added the non-success response with the status

    • info

      added the non-success response with the status

    • info

      added the non-success response with the status

    • info

      added the non-success response with the status

    • info

      added the non-success response with the status

    • info

      added the non-success response with the status

    • info

      added the non-success response with the status

    • breaking

      response property data/items/attributes/time list-of-types was widened by adding types string to media type application/vnd.api+json of response 200

    • breaking

      response property data/items/attributes/total_recognized_time list-of-types was widened by adding types string to media type application/vnd.api+json of response 200

    • breaking

      the /// response's property type changed from string to no type for status

    • breaking

      the /// response's property type changed from string to no type, and format from date to no format for status

    • breaking

      the /// response's property type changed from integer to boolean for status

    • breaking

      the /// response's property type changed from number to no type for status

    • breaking

      the /// response's property type changed from integer to no type for status

    • breaking

      the /// response's property type changed from string to no type, and format from date to no format for status

    • breaking

      the /// response's property type changed from string to no type for status

    • breaking

      the /// response's property type changed from string to no type for status

    • breaking

      the /// response's property type changed from string to object for status

    • breaking

      the /// response's property type changed from integer to boolean for status

    • breaking

      the /// response's property type changed from string to object for status

    • breaking

      the /// response's property type changed from integer to no type for status

    • breaking

      the /// response's property type changed from string to no type, and format from date to no format for status

    • breaking

      the /// response's property type changed from integer to no type for status

    • warning

      deleted the header request parameter X-Organization-Id

    • info

      added the optional property /// to the response with the status

    • info

      added to the /// response property anyOf list for the response status

    • info

      added to the /// response property anyOf list for the response status

    • info

      added to the /// response property anyOf list for the response status

    • info

      added to the /// response property anyOf list for the response status

    • info

      added to the /// response property anyOf list for the response status

    • info

      added to the /// response property anyOf list for the response status

    • info

      added to the /// response property anyOf list for the response status

    • info

      added to the /// response property anyOf list for the response status

    • info

      added to the /// response property anyOf list for the response status

    • info

      added to the /// response property anyOf list for the response status

    • info

      added to the /// response property anyOf list for the response status

    • info

      added to the /// response property anyOf list for the response status

    • info

      added to the /// response property anyOf list for the response status

    • info

      added to the /// response property anyOf list for the response status

    • info

      added to the /// response property anyOf list for the response status

    • info

      added to the /// response property anyOf list for the response status

    • info

      added to the /// response property anyOf list for the response status

    • info

      added to the /// response property anyOf list for the response status

    • info

      added subschema #2 to the /// response property anyOf list for the response status

    • info

      added subschema #2 to the /// response property anyOf list for the response status

    • info

      added subschema #2 to the /// response property anyOf list for the response status

    • info

      added subschema #2 to the /// response property anyOf list for the response status

    • info

      added subschema #2 to the /// response property anyOf list for the response status

    • info

      added subschema #2 to the /// response property anyOf list for the response status

    • info

      added subschema #2 to the /// response property anyOf list for the response status

    • info

      added subschema #2 to the /// response property anyOf list for the response status

    • info

      added subschema #2 to the /// response property anyOf list for the response status

    • info

      added subschema #2 to the /// response property anyOf list for the response status

    • info

      removed subschema #1: Single data from the /// response property anyOf list for the response status

    • info

      removed subschema #1: Single data from the /// response property anyOf list for the response status

    • info

      removed subschema #1: Single data from the /// response property anyOf list for the response status

    • info

      removed subschema #1: Single data from the /// response property anyOf list for the response status

    • info

      removed subschema #1: Single data from the /// response property anyOf list for the response status

    • info

      removed subschema #1: Single data from the /// response property anyOf list for the response status

    • info

      removed subschema #1: Single data from the /// response property anyOf list for the response status

    • info

      removed subschema #1: Single data from the /// response property anyOf list for the response status

    • info

      removed subschema #1: Single data from the /// response property anyOf list for the response status

    • info

      removed subschema #1: Single data from the /// response property anyOf list for the response status

    • info

      removed subschema #1: Single data from the /// response property anyOf list for the response status

    • info

      removed subschema #1: Single data from the /// response property anyOf list for the response status

    • info

      removed subschema #1: Single data from the /// response property anyOf list for the response status

    • info

      removed subschema #1: Single data from the /// response property anyOf list for the response status

    • info

      removed subschema #1: Single data from the /// response property anyOf list for the response status

    • info

      removed subschema #1: Single data from the /// response property anyOf list for the response status

    • info

      removed subschema #1: Single data from the /// response property anyOf list for the response status

    • info

      removed subschema #1: Single data from the /// response property anyOf list for the response status

    • info

      the response property ///// became required for the status

    • info

      the response property ////// became required for the status

    • info

      the response property ///// became required for the status

    • info

      the response property ////// became required for the status

    • info

      the response property ///// became required for the status

    • info

      the response property ////// became required for the status

    • info

      the response property ///// became required for the status

    • info

      the response property ////// became required for the status

    • info

      the response property ///// became required for the status

    • info

      the response property ////// became required for the status

    • info

      the response property ///// became required for the status

    • info

      the response property ////// became required for the status

    • info

      the response property ///// became required for the status

    • info

      the response property ////// became required for the status

    • info

      the response property ///// became required for the status

    • info

      the response property ////// became required for the status

    • info

      the response property ///// became required for the status

    • info

      the response property ////// became required for the status

    • info

      the response property ///// became required for the status

    • info

      the response property ////// became required for the status

    • info

      the response property ///// became required for the status

    • info

      the response property ////// became required for the status

    • info

      the response property ///// became required for the status

    • info

      the response property ////// became required for the status

    • info

      the response property ///// became required for the status

    • info

      the response property ////// became required for the status

    • info

      the response property ///// became required for the status

    • info

      the response property ////// became required for the status

    • info

      the response property ///// became required for the status

    • info

      the response property ////// became required for the status

    • info

      the response property ///// became required for the status

    • info

      the response property ////// became required for the status

    • info

      the response property ///// became required for the status

    • info

      the response property ////// became required for the status

    • info

      the response property ///// became required for the status

    • info

      the response property ////// became required for the status

    • info

      removed the 1.00 enum value from the /// response property for the response status

    • info

      removed the 1.00 enum value from the /// response property for the response status

    • info

      removed the 2.00 enum value from the /// response property for the response status

    • info

      removed the 2.00 enum value from the /// response property for the response status

    • info

      removed the remote_work enum value from the /// response property for the response status

    • info

      removed the time_off enum value from the /// response property for the response status

    This list may be incomplete.