### Productive.io API Guide - Importing Docs Source: https://developer.productive.io/payment_reminder_sequences Guide on importing documents via the Productive.io API, with a focus on the process of creating new documents. ```APID ``` -------------------------------- ### Productive.io API Guide - Importing Docs Source: https://developer.productive.io/pipelines Guide on importing documents via the Productive.io API, with a focus on the process of creating new documents. ```APID ``` -------------------------------- ### Productive.io API Guide - Importing Docs Source: https://developer.productive.io/taxrates Guide on importing documents via the Productive.io API, with a focus on the process of creating new documents. ```APID ``` -------------------------------- ### Productive.io API Guide - Importing Docs Source: https://developer.productive.io/project_assignments Guide on importing documents via the Productive.io API, with a focus on the process of creating new documents. ```APID ``` -------------------------------- ### Productive.io API Guide - Importing Docs Source: https://developer.productive.io/importing_docs_via_api Guide on importing documents via the Productive.io API, with a focus on the process of creating new documents. ```APID ``` -------------------------------- ### Productive.io API Guide - Importing Docs Source: https://developer.productive.io/working_with_custom_fields Guide on importing documents via the Productive.io API, with a focus on the process of creating new documents. ```APID ``` -------------------------------- ### Productive.io API Guide - Importing Docs Source: https://developer.productive.io/filters Guide on importing documents via the Productive.io API, with a focus on the process of creating new documents. ```APID ``` -------------------------------- ### Productive.io API Guide - Importing Docs Source: https://developer.productive.io/organization_memberships Guide on importing documents via the Productive.io API, with a focus on the process of creating new documents. ```APID ``` -------------------------------- ### Productive.io API Guide - Importing Docs Source: https://developer.productive.io/time_tracking_policies Guide on importing documents via the Productive.io API, with a focus on the process of creating new documents. ```APID ``` -------------------------------- ### Productive.io API Guide - Importing Docs Source: https://developer.productive.io/approval_policies Guide on importing documents via the Productive.io API, with a focus on the process of creating new documents. ```APID ``` -------------------------------- ### Productive.io API Guide - Importing Docs Source: https://developer.productive.io/survey_fields Guide on importing documents via the Productive.io API, with a focus on the process of creating new documents. ```APID ``` -------------------------------- ### Productive.io API Guide - Importing Docs Source: https://developer.productive.io/teams Guide on importing documents via the Productive.io API, with a focus on the process of creating new documents. ```APID ``` -------------------------------- ### Productive.io API Guide - Importing Docs Source: https://developer.productive.io/lost_reasons Guide on importing documents via the Productive.io API, with a focus on the process of creating new documents. ```APID ``` -------------------------------- ### Tasks API Documentation Source: https://developer.productive.io/tasks This section details the Tasks API endpoint. It outlines supported filter parameters for querying tasks, supported sort parameters for ordering results, and provides an example of a GET request with headers and a sample response. ```APIDOC API Endpoint Tasks Tasks For more details on how to work with custom fields please refer to Working with custom fields guide. The Task object represents a task within the project management system. You can find out more about tasks in our Help documentation: Tasks and task lists Task can be one of two types: * milestone * task Following diagram shows tasks in our data hierarchy: For Task dependencies please refer to TaskDependency endpoint documentation Supported filter params * after * assignee_id (array) * before * billable_time * board_id (array) * board_name * board_status (1: active, 2: archived) * closed_after * closed_at * closed_before * company_id (array) * created_at * creator_id (array) * custom_fields * date_range * dependency_type * description * due_date (1: any, 2: overdue) * due_date_after * due_date_before * due_date_on * id * initial_estimate * last_actor_id * last_activity * last_activity_after * last_activity_before * overdue_status (1: not overdue, 2: overdue) * parent_task_id (array) * person_type (1: user, 2: contact, 3: placeholder) * project_id (array) * project_manager_id (array) * project_type (1: internal project, 2 :client project) * public_access * query * remaining_time * repeating * start_date * start_date_after * start_date_before * status (1: open, 2: closed) * subscriber_id (array) * tags * task_list_id (array) * task_list_name * task_list_status (1: open, 2: closed) * task_number * task_type (1: parent task, 2: subtask) * title * updated_at * worked_time * workflow_id (array) * workflow_status_category_id (1: not started, 2: started, 3: closed) * workflow_status_id (array) Filter operations are supported on this endpoint. Supported sort params * assignee_name * billable_time * board_name * board_position * closed_at * company_name * created_at * creator_name * custom_fields * due_date - sorts due_date and then due_time * placement * id * initial_estimate * last_activity * last_activity_at * last_actor_name * number * project_name * remaining_time * start_date * task_list_name * task_list_position * task_number * title * updated_at * worked_time * workflow_status_name * workflow_status_position GET Requestsreturns tasksreturns tags as tag_list **GET** `/api/v2/tasks?filter[project_id]=1911` ##### 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 ``` Responses200 ##### Headers ``` Content-Type: application/vnd.api+json; charset=utf-8 ``` ``` -------------------------------- ### Invoice Preview Request Example Source: https://developer.productive.io/invoices Example of a GET request to the invoice preview endpoint with specific query parameters. ```APIDOC GET /api/v2/invoices/71/preview?budget_ids[]=658&display_format={budget}&invoicing_by=budget&invoicing_method=percentage ``` -------------------------------- ### Organization Subscriptions API Source: https://developer.productive.io/organization_subscriptions Provides details on the Organization Subscriptions API endpoint, including supported payment methods and an example GET request. ```APIDOC Organization Subscriptions API Endpoint: Supported Enumerations: Payment methods: - credit_card (payment_method_id: 1) - invoice (payment_method_id: 2) GET /api/v2/organization_subscriptions/754 Requests organization subscription. 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 Responses: 200 OK: Headers: Content-Type: application/vnd.api+json; charset=utf-8 ``` -------------------------------- ### Invoice Preview API Endpoint Source: https://developer.productive.io/invoices Provides details on the GET request to preview an invoice. Includes URI parameters, required and optional fields, possible values, and examples. ```APIDOC Preview invoice GET /api/v2/invoices/preview **URI Parameters** budget_ids `array` (required) **Example:** %5B1%2C+3%5D array of budget ids invoicing_method `string` (required) **Example:** percentage possible values: uninvoiced_time_and_expenses, uninvoiced_amount, percentage invoicing_by `string` (optional) **Example:** service possible values: service/budget; required for invoicing method uninvoiced_amount or percentage percentage `number` (optional) **Example:** 50 percentage of budget revenue; required for invoicing method percentage display_format `string` (required) **Example:** %7Bservice%7D display format expense_display_format `string` (optional) **Example:** %7Bexpense%7D display format for expenses locale `string` (optional) **Example:** en_US locale; required for invoicing method uninvoiced_time_and_expenses date_from `date` (optional) **Example:** 2024-04-01 date from date_to `date` (optional) **Example:** 2024-05-01 date to ``` -------------------------------- ### Productive.io FAQ Source: https://developer.productive.io/payment_reminder_sequences Frequently Asked Questions for Productive.io, covering general topics and specific areas like Deals, Projects, Reports, and Invoices. ```APIDOC FAQ * General * Deals (Budgets) * Projects * Reports * Invoices * Docs * Copy to accounting ``` -------------------------------- ### Invoices API Endpoint Source: https://developer.productive.io/invoices This section details the Invoices API endpoint, including its purpose, related resources, supported filter and sort parameters, and an example GET request. ```APIDOC API Endpoint: Invoices Description: Provides access to invoice data. The invoice object is a core component of the invoicing module. Refer to the 'Working with custom fields' guide for custom field details and the Help documentation for 'Creating and Managing Invoices'. Tax Changes: As of September 3, 2024, `tax1_name`, `tax1_value`, `tax2_name`, and `tax2_value` attributes on the Invoice object are deprecated. Use the `tax_rate_id` attribute on Line item objects instead. Refer to LineItems endpoint documentation for more information. Related Resources: * Deals (Budget) * Invoice Attributions * Line Items Supported Filter Params: * amount * amount_credited * amount_credited_with_tax * amount_paid * amount_tax * amount_unpaid * amount_with_tax * amount_written_off * company_id (array) * created_at * creator_id (array) * credited * currency * deal_id (array) * delivery_on * export_status (1: exported, 2: unexported) * full_query * fuzzy_dates * fuzzy_people * id * invoice_aging (0: other, 1: overdue < 15 days, 2: overdue 15 - 45 days, 3: overdue 45+ days, 4: not overdue) * invoice_state (1: draft, 2: finalized) * invoice_status (0: unsent, 1: paid, 2: overdue, 3: not_overdue, 4: draft) * invoice_type (1: invoice, 2: credit note) * invoiced_on * invoicing_method (1: actuals, 2: uninvoiced amount, 3: percentage) * issuer_id (array) * jump_query * last_activity_at * number * overdue_status * paid_on * parent_invoice_id (array) * pay_on * payment_status (1: paid, 2: unpaid, 3: partially paid) * project_id (array) * purchase_order_number * query * responsible_id (array) * sent_on * sent_status (1: sent, 2: unsent) * status (0: unsent, 1: paid, 2: overdue, 3: not_overdue, 4: draft) * subscriber_id (array) * subsidiary_id (array) * tags Supported Sort Params: * amount * amount_credited * amount_credited_with_tax * amount_paid * amount_tax * amount_with_tax * amount_written_off * company_name * created_at * credited * custom_fields * deleted_at * delivery_on * discount * invoiced_on * last_activity_at * number * pay_on * purchase_order_number * sent_on Filter operations are supported on this endpoint. Request: GET /api/v2/invoices 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 Responses: 200 OK Headers: Content-Type: application/vnd.api+json; charset=utf-8 ``` -------------------------------- ### Workflows API Documentation Source: https://developer.productive.io/workflows This section details the Workflows API endpoint. It explains the purpose of the Workflow object, supported filter and sort parameters, and provides examples for GET requests to retrieve workflows. The API allows filtering by name and archived status, and sorting by name. It also includes example request headers and successful response bodies. ```APIDOC API Endpoint Workflows The Workflow object enables organizing tasks into distinct phases or stages, each with its own set of statuses. This allows tracking the progress of tasks from initiation to completion. Supported filter params: * name * archived (‘true’ or ‘false’) Supported sort params: * name GET Requestsreturns workflows **GET** `/api/v2/workflows` 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 Responses200 Headers: Content-Type: application/vnd.api+json; charset=utf-8 Body: { "data": [ { "id": "2754", "type": "workflows", "attributes": { "name": "Simple workflow", "archived_at": null }, "relationships": { "organization": { "data": { "type": "organizations", "id": "2227" } }, "workflow_statuses": { "meta": { "included": false } } } }, { "id": "2755", "type": "workflows", "attributes": { "name": "Simple workflow", "archived_at": null }, "relationships": { "organization": { "data": { "type": "organizations", "id": "2227" } }, "workflow_statuses": { "meta": { "included": false } } } }, { "id": "2756", "type": "workflows", "attributes": { "name": "Simple workflow", "archived_at": null }, "relationships": { "organization": { "data": { "type": "organizations", "id": "2227" } }, "workflow_statuses": { "meta": { "included": false } } } } ], "links": { "first": "http://api-test.productive.io/api/v2/workflows?page%5Bnumber%5D=1&page%5Bsize%5D=30", "last": "http://api-test.productive.io/api/v2/workflows?page%5Bnumber%5D=1&page%5Bsize%5D=30" }, "meta": { "current_page": 1, "total_pages": 1, "total_count": 3, "page_size": 30, "max_page_size": 200 } } Get workflows GET`/api/v2/workflows` GET 1 Requestsreturns workflow **GET** `/api/v2/workflows/2757` 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 Responses200 Headers: Content-Type: application/vnd.api+json; charset=utf-8 ``` -------------------------------- ### Bills API Endpoint Documentation Source: https://developer.productive.io/bills Provides details on the Bills API endpoint, including supported filter and sort parameters, GET and POST request formats, and example responses. ```APIDOC Bills API Endpoint: Supported filter params: - purchase_order_id (array) - invoice_number - description - date - due_date - total_cost_cents - total_received_cents Supported sort params: - purchase_order_id - invoice_number - description - date - due_date - created_at - total_cost - total_received Filter operations are supported on this endpoint. GET /api/v2/bills/{id} Description: Gets a bill. Parameters: id (number, required): The ID of the bill to retrieve. 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 Responses: 200 OK: Headers: Content-Type: application/vnd.api+json; charset=utf-8 Body: { "data": { "id": "2", "type": "bills", "attributes": { "date": "2025-08-22", "due_date": "2025-08-23", "deleted_at": null, "invoice_number": "Invoice 2", "description": "Bill description", "created_at": "2025-08-22T06:02:44.658+02:00", "currency": "EUR", "currency_default": "USD", "currency_normalized": "EUR", "total_received": 0, "total_received_default": 0, "total_received_normalized": 0, "total_cost": 0, "total_cost_default": 0, "total_cost_normalized": 0 }, "relationships": { "organization": {"data": {"type": "organizations", "id": "78"}}, "purchase_order": {"meta": {"included": false}}, "creator": {"meta": {"included": false}}, "deal": {"meta": {"included": false}}, "attachment": {"meta": {"included": false}} } }, "meta": {} } POST /api/v2/bills Description: Creates a purchase order. 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 Body: { "data": { "type": "bills", "attributes": {}, "relationships": { "purchase_order": {"data": {"type": "purchase_orders", "id": "3"}} } } } Responses: 201 Created: Headers: Content-Type: application/vnd.api+json; charset=utf-8 ``` -------------------------------- ### Purchase Orders API Source: https://developer.productive.io/purchase_orders Provides details on the Purchase Orders API endpoint, including its purpose, supported filters, sort parameters, and an example GET request with request and response bodies. ```APIDOC API Endpoint: Purchase Orders Description: In Productive, purchase orders are documents that serve as a buyer’s request to a seller to order goods or services. They always belong to a budget and a vendor (seller) and can have multiple expenses, bills, and bill items. Enumerations: status_id: 1: Draft 2: Finalized payment_status_id: 1: Not received 2: Partially received 3: Fully received Supported filter params: deal_id (array) vendor_id (array) id deal_id vendor_id status_id issued_on delivery_on sent_on received_on created_at total_cost total_cost_with_tax total_received Supported sort params: deal_id vendor_id deal_id vendor_id status_id issued_on delivery_on sent_on received_on created_at total_cost total_cost_with_tax total_received GET /api/v2/purchase_orders/{id} Request 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 Response 200 Headers: Content-Type: application/vnd.api+json; charset=utf-8 Response 200 Body: { "data": { "id": "22", "type": "purchase_orders", "attributes": { "subject": null, "status_id": null, "issued_on": "2025-08-22", "delivery_on": null, "sent_on": null, "received_on": null, "created_at": "2025-08-22T06:06:39.669+02:00", "number": "1", "note": null, "note_interpolated": null, "email_key": "b491bf258bf96108da2457fb5350e077", "payment_status_id": 3, "exchange_rate": "1.25", "exchange_date": "2025-08-22", "currency": "EUR", "currency_default": "USD", "currency_normalized": "EUR", "total_cost": 0, "total_cost_default": 0, "total_cost_normalized": 0, "total_cost_with_tax": 0, "total_cost_with_tax_default": 0, "total_cost_with_tax_normalized": 0, "total_received": 0, "total_received_default": 0, "total_received_normalized": 0 }, "relationships": { "organization": { "data": { "type": "organizations", "id": "1043" } }, "vendor": { "meta": { "included": false } }, "deal": { "meta": { "included": false } }, "creator": { "meta": { "included": false } }, "document_type": { "meta": { "included": false } }, "attachment": { "meta": { "included": false } }, "bill_to": { "meta": { "included": false } }, "bill_from": { "meta": { "included": false } } } }, "meta": {} } ``` -------------------------------- ### Productive.io API: Get Deleted Purchase Orders Source: https://developer.productive.io/deleted_items Retrieves a list of deleted purchase orders from the Productive.io API. The request filters by the 'purchase_order' item type. Includes example request headers. ```APIDOC GET /api/v2/deleted_items?filter[item_type]=purchase_order 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 Response 200 Headers: Content-Type: application/vnd.api+json; charset=utf-8 ``` -------------------------------- ### Productive.io API: Get Deleted Dashboards Source: https://developer.productive.io/deleted_items Retrieves a list of deleted dashboards from the Productive.io API. The request filters by the 'dashboard' item type. Includes example request headers and a JSON response body. ```APIDOC GET /api/v2/deleted_items?filter[item_type]=dashboard 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 Response 200 Headers: Content-Type: application/vnd.api+json; charset=utf-8 Response 200 Body: { "data": [ { "id": "77", "type": "deleted_items", "attributes": { "created_at": "2025-08-22T06:04:38.254+02:00", "deleter_id": 1507, "item_id": 28, "item_type": "dashboard", "location": "My organization", "name": "Dashboard x", "private": false, "recovered_at": null }, "relationships": { "organization": { "data": { "type": "organizations", "id": "414" } }, "deleter": { "meta": { "included": false } } } } ], "links": { "first": "http://api-test.productive.io/api/v2/deleted_items?filter%5Bitem_type%5D=dashboard&page%5Bnumber%5D=1&page%5Bsize%5D=30", "last": "http://api-test.productive.io/api/v2/deleted_items?filter%5Bitem_type%5D=dashboard&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 } } ``` -------------------------------- ### Productive.io FAQ Source: https://developer.productive.io/importing_docs_via_api Frequently Asked Questions for Productive.io, covering general topics and specific areas like Deals, Projects, Reports, and Invoices. ```APIDOC FAQ * General * Deals (Budgets) * Projects * Reports * Invoices * Docs * Copy to accounting ``` -------------------------------- ### Productive.io API: Get Deleted Services Source: https://developer.productive.io/deleted_items Retrieves a list of deleted services from the Productive.io API. The request specifies the 'service' item type for filtering. Includes example request headers and a JSON response body. ```APIDOC GET /api/v2/deleted_items?filter[item_type]=service 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 Response 200 Headers: Content-Type: application/vnd.api+json; charset=utf-8 Response 200 Body: { "data": [ { "id": "67", "type": "deleted_items", "attributes": { "created_at": "2025-08-22T06:04:37.392+02:00", "deleter_id": 1480, "item_id": 213, "item_type": "service", "location": "test name", "name": "test name", "private": false, "recovered_at": null }, "relationships": { "organization": { "data": { "type": "organizations", "id": "413" } }, "deleter": { "meta": { "included": false } } } } ], "links": { "first": "http://api-test.productive.io/api/v2/deleted_items?filter%5Bitem_type%5D=service&page%5Bnumber%5D=1&page%5Bsize%5D=30", "last": "http://api-test.productive.io/api/v2/deleted_items?filter%5Bitem_type%5D=service&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 } } ``` -------------------------------- ### Productive.io API: Get Deleted Time Entries Source: https://developer.productive.io/deleted_items Retrieves a list of deleted time entries from the Productive.io API. The request filters by the 'time_entry' item type. Includes example request headers and a JSON response body. ```APIDOC GET /api/v2/deleted_items?filter[item_type]=time_entry 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 Response 200 Headers: Content-Type: application/vnd.api+json; charset=utf-8 Response 200 Body: { "data": [ { "id": "87", "type": "deleted_items", "attributes": { "created_at": "2025-08-22T06:04:39.271+02:00", "deleter_id": 1536, "item_id": 14, "item_type": "time_entry", "location": "test project / test name / test name", "name": "name surname - Aug 22 2025 - 08:00", "private": false, "recovered_at": null }, "relationships": { "organization": { "data": { "type": "organizations", "id": "415" } }, "deleter": { "meta": { "included": false } } } } ], "links": { "first": "http://api-test.productive.io/api/v2/deleted_items?filter%5Bitem_type%5D=time_entry&page%5Bnumber%5D=1&page%5Bsize%5D=30", "last": "http://api-test.productive.io/api/v2/deleted_items?filter%5Bitem_type%5D=time_entry&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 } } ``` -------------------------------- ### Productive.io FAQ Source: https://developer.productive.io/pipelines Frequently Asked Questions for Productive.io, covering general topics and specific areas like Deals, Projects, Reports, and Invoices. ```APIDOC FAQ * General * Deals (Budgets) * Projects * Reports * Invoices * Docs * Copy to accounting ``` -------------------------------- ### Get Entitlement Reports Source: https://developer.productive.io/reports Retrieves entitlement reports. This endpoint supports filtering by various parameters such as entitlement, event, person, organization, custom fields, and absence types. Date periods for start and end dates are also supported. ```APIDOC 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 Responses 200 Headers: Content-Type: application/vnd.api+json; charset=utf-8 Supported filter params: Can be found on entitlements endpoint Supported group params: * entitlement * event * person * organization * people_custom_fields * absence_type Supported date period dates: * start_date * end_date ``` -------------------------------- ### Productive.io API: Filter Custom Fields Source: https://developer.productive.io/working_with_custom_fields Provides examples for retrieving custom fields from the Productive.io API. It shows how to get all custom fields, retrieve only non-archived fields, and filter custom fields for a specific customizable type like 'deals'. ```APIDOC GET https://api.productive.io/api/v2/custom_fields GET https://api.productive.io/api/v2/custom_fields?filter[archived]=false GET https://api.productive.io/api/v2/custom_fields?filter[archived]=false&filter[customizable_type]=deals ``` -------------------------------- ### Get Entitlements Source: https://developer.productive.io/entitlements Retrieves a list of entitlements. This endpoint returns an array of entitlement objects, each containing details like start date, end date, allocated, used, and pending values, along with associated organization, event, person, and approval workflow information. ```APIDOC GET /api/v2/entitlements 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 Responses200: Headers: Content-Type: application/vnd.api+json; charset=utf-8 Body: { "data": [ { "id": "41", "type": "entitlements", "attributes": { "start_date": "2025-08-22", "end_date": "2025-09-11", "allocated": "21.5", "used": "0.0", "pending": "0.0", "note": null }, "relationships": { "organization": { "data": { "type": "organizations", "id": "496" } }, "event": { "meta": { "included": false } }, "person": { "meta": { "included": false } }, "approval_workflow": { "meta": { "included": false } } } } ], "links": { "first": "http://api-test.productive.io/api/v2/entitlements?page%5Bnumber%5D=1&page%5Bsize%5D=30", "last": "http://api-test.productive.io/api/v2/entitlements?page%5Bnumber%5D=1&page%5Bsize%5D=30" }, "meta": { "current_page": 1, "total_pages": 1, "total_count": 3, "page_size": 30, "max_page_size": 200 } } ``` -------------------------------- ### Error Response Example Source: https://developer.productive.io/invoice_attributions An example of an error response when an attribute is invalid or missing. ```APIDOC { "errors": [ { "status": "422", "code": "invalid_attribute", "title": "Invalid Attribute", "detail": "can't be blank", "source": { "pointer": "data/attributes/amount" } } ] } ``` -------------------------------- ### Productive.io API Overview Source: https://developer.productive.io/importing_docs_via_api Provides an overview of the Productive.io API, covering key features such as authorization, content negotiation, filtering, sorting, pagination, API changes, and rate limits. ```APIDOC Overview * Authorization * Content Negotiation * Filtering * Sorting * Pagination * API changes * Rate Limits ``` -------------------------------- ### Productive.io API - Pages Endpoint Source: https://developer.productive.io/pages This section details the 'Pages' API endpoint for the Productive.io platform. It outlines supported filter parameters such as creator_id, edited_at, id, and project_id, as well as sort parameters including created_at, creator_name, edited_at, project, title, and updated_at. A disclaimer is provided for update actions, advising to ensure no user has the page open. It also includes examples for GET requests to retrieve pages. ```APIDOC API Endpoint: Pages Supported filter params: - creator_id - edited_at - id - project_id (array) Supported sort params: - created_at - creator_name - edited_at - project - title - updated_at Update action disclaimer: For a successful page update, it’s best to ensure no user has that page open in the application. Otherwise, the update might not make any changes to the page. GET Requests: Returns pages GET /api/v2/pages?filter[project_id]=2348 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 Responses 200: Headers: Content-Type: application/vnd.api+json; charset=utf-8 Body: { "data": [ { "id": "98", "type": "pages", "attributes": { "cover_image_meta": null, "cover_image_url": null, "created_at": "2025-08-22T06:24:26.831+02:00", "custom_fields": null, "edited_at": null, "icon_id": null, "position": null, "preferences": {}, "title": "Page title 90", "updated_at": "2025-08-22T06:24:26.838+02:00", "version_number": null, "last_activity_at": "2025-08-22T06:24:26.831+02:00", "body": "{\"text\":\"Page body 98\"}", "parent_page_id": null, "root_page_id": null, "public_uuid": null, "public": false }, "relationships": { "organization": { "data": { "type": "organizations", "id": "2255" } }, "creator": { "meta": { "included": false } }, "project": { "meta": { "included": false } }, "parent_page": { "meta": { "included": false } }, "root_page": { "meta": { "included": false } }, "attachments": { "meta": { "included": false } }, "template_object": { "meta": { "included": false } } } } ], "links": { "first": "http://api-test.productive.io/api/v2/pages?filter%5Bproject_id%5D=2348&page%5Bnumber%5D=1&page%5Bsize%5D=30", "last": "http://api-test.productive.io/api/v2/pages?filter%5Bproject_id%5D=2348&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 pages GET /api/v2/pages GET 1 Requests returns page GET /api/v2/pages/99 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 Responses 200: Headers: Content-Type: application/vnd.api+json; charset=utf-8 ``` -------------------------------- ### Productive.io API Reference - Deals Source: https://developer.productive.io/importing_docs_via_api Covers the Deals resource in the Productive.io API, including how to manage deals, budgets, and related information. ```APIDOC Deals: * Deals * * * * * * * * * ``` -------------------------------- ### Survey Fields API Source: https://developer.productive.io/survey_fields This section details the Survey Fields API endpoint. It describes the structure of a survey field object, including its attributes like name, data_type_id, and formatting_type_id. It also lists supported filter parameters such as 'archived', 'global', 'name', 'origin_field_id', 'project_id', and 'survey_id'. The documentation includes examples for GET requests to retrieve all survey fields and a specific survey field, along with their headers and response bodies. ```APIDOC Survey Fields API Endpoint: The `Survey field` object represents a question inside of a `form` within the application. Data Types: * 1: Text field * 2: Number field * 3: Select field * 4: Date field * 5: Multiple select field * 7: Attachment field Formatting Types: * 1: decimal * 2: percentage Supported Filter Params: * archived (‘true’ or ‘false’) * global (‘true’ or ‘false’) * name * origin_field_id * project_id * survey_id GET /api/v2/survey_fields Description: Returns survey_fields 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 Responses: 200 OK: Headers: Content-Type: application/vnd.api+json; charset=utf-8 Body: { "data": [ { "id": "34", "type": "survey_fields", "attributes": { "created_at": "2025-08-22T06:24:38.429+02:00", "updated_at": "2025-08-22T06:24:38.429+02:00", "name": "Custom field no.32", "data_type_id": 1, "required": false, "description": null, "archived_at": null, "aggregation_type_id": null, "formatting_type_id": null, "global": null, "show_in_add_edit_views": true, "sensitive": false, "position": 1, "quick_add_enabled": false, "customizable_type": "survey_responses" }, "relationships": { "organization": { "data": { "type": "organizations", "id": "2345" } }, "survey": { "meta": { "included": false } }, "origin_field": { "meta": { "included": false } }, "options": { "meta": { "included": false } }, "custom_field_people": { "meta": { "included": false } } } } ], "links": { "first": "http://api-test.productive.io/api/v2/survey_fields?page%5Bnumber%5D=1&page%5Bsize%5D=30", "last": "http://api-test.productive.io/api/v2/survey_fields?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 /api/v2/survey_fields/36 Description: Returns survey_field 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 Responses: 200 OK: Headers: Content-Type: application/vnd.api+json; charset=utf-8 ``` -------------------------------- ### Delete Salary Request Example Source: https://developer.productive.io/salaries Example of a DELETE request to remove a salary with ID 266. ```APIDOC DELETE 1 Requestsdeletes salary **DELETE** `/api/v2/salaries/266` ##### 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 ``` Responses204 This response has no content. ``` -------------------------------- ### Productive.io FAQ Source: https://developer.productive.io/approval_policies Frequently Asked Questions for Productive.io, covering general topics and specific areas like Deals, Projects, Reports, and Invoices. ```APIDOC FAQ * General * Deals (Budgets) * Projects * Reports * Invoices * Docs * Copy to accounting ```