API Documentation

API Endpoint

Pages

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 /api/v2/pages
Requestsreturns pages

GET  /api/v2/pages?filter[project_id]=2345

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": "98",
      "type": "pages",
      "attributes": {
        "cover_image_meta": null,
        "cover_image_url": null,
        "created_at": "2025-08-02T02:25:39.156+02:00",
        "custom_fields": null,
        "edited_at": null,
        "icon_id": null,
        "position": null,
        "preferences": {},
        "title": "Page title 90",
        "updated_at": "2025-08-02T02:25:39.162+02:00",
        "version_number": null,
        "last_activity_at": "2025-08-02T02:25:39.156+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": "2234"
          }
        },
        "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=2345&page%5Bnumber%5D=1&page%5Bsize%5D=30",
    "last": "http://api-test.productive.io/api/v2/pages?filter%5Bproject_id%5D=2345&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 /api/v2/pages/1
Requestsreturns 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
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "99",
    "type": "pages",
    "attributes": {
      "cover_image_meta": null,
      "cover_image_url": null,
      "created_at": "2025-08-02T02:25:39.257+02:00",
      "custom_fields": null,
      "edited_at": null,
      "icon_id": null,
      "position": null,
      "preferences": {},
      "title": "Page title 91",
      "updated_at": "2025-08-02T02:25:39.264+02:00",
      "version_number": null,
      "last_activity_at": "2025-08-02T02:25:39.257+02:00",
      "body": "{\"text\":\"Page body 99\"}",
      "parent_page_id": null,
      "root_page_id": null,
      "public_uuid": null,
      "public": false
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "2235"
        }
      },
      "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
        }
      }
    }
  },
  "meta": {}
}

Gets a page
GET/api/v2/pages/{id}

URI Parameters
HideShow
id
number (required) Example: 1

page id


POST /api/v2/pages
Requestscreates page and tracks intercom eventreturns errorcreates page with version numbermoves, :aggregate_failures docreturns error

POST  /api/v2/pages

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": "pages",
    "attributes": {
      "title": "test name",
      "body": "test body"
    },
    "relationships": {
      "project": {
        "data": {
          "type": "projects",
          "id": "2349"
        }
      }
    }
  }
}
Responses201
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "102",
    "type": "pages",
    "attributes": {
      "cover_image_meta": null,
      "cover_image_url": null,
      "created_at": "2025-08-02T02:25:39.708+02:00",
      "custom_fields": null,
      "edited_at": "2025-08-02T02:25:39.708+02:00",
      "icon_id": null,
      "position": null,
      "preferences": null,
      "title": "test name",
      "updated_at": "2025-08-02T02:25:39.715+02:00",
      "version_number": null,
      "last_activity_at": "2025-08-02T02:25:39.708+02:00",
      "body": "",
      "parent_page_id": null,
      "root_page_id": null,
      "public_uuid": null,
      "public": false
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "2238"
        }
      },
      "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
        }
      }
    }
  },
  "meta": {}
}

POST  /api/v2/pages

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": "pages",
    "attributes": {
      "parent_page_id": 103
    }
  }
}
Responses422
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "errors": [
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "attribute is invalid",
      "source": {
        "pointer": "data/attributes/parent_page"
      }
    }
  ]
}

POST  /api/v2/pages

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": "pages",
    "attributes": {
      "title": "test name",
      "body": "test body",
      "version_number": "1"
    }
  }
}
Responses201
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "104",
    "type": "pages",
    "attributes": {
      "cover_image_meta": null,
      "cover_image_url": null,
      "created_at": "2025-08-02T02:25:39.954+02:00",
      "custom_fields": null,
      "edited_at": "2025-08-02T02:25:39.953+02:00",
      "icon_id": null,
      "position": null,
      "preferences": null,
      "title": "test name",
      "updated_at": "2025-08-02T02:25:39.956+02:00",
      "version_number": 1,
      "last_activity_at": "2025-08-02T02:25:39.954+02:00",
      "body": "",
      "parent_page_id": null,
      "root_page_id": null,
      "public_uuid": null,
      "public": false
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "2240"
        }
      },
      "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
        }
      }
    }
  },
  "meta": {}
}

PATCH  /api/v2/pages/109/move

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": "pages",
    "attributes": {
      "target_doc_id": "108"
    }
  }
}
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "109",
    "type": "pages",
    "attributes": {
      "cover_image_meta": null,
      "cover_image_url": null,
      "created_at": "2025-08-02T02:25:40.341+02:00",
      "custom_fields": null,
      "edited_at": null,
      "icon_id": null,
      "position": 1,
      "preferences": {},
      "title": "Page title 97",
      "updated_at": "2025-08-02T02:25:40.386+02:00",
      "version_number": null,
      "last_activity_at": "2025-08-02T02:25:40.341+02:00",
      "body": "{\"text\":\"Page body 105\"}",
      "parent_page_id": 108,
      "root_page_id": 108,
      "public_uuid": null,
      "public": false
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "2245"
        }
      },
      "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
        }
      }
    }
  },
  "meta": {}
}

PATCH  /api/v2/pages/118/move

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": "pages",
    "attributes": {
      "target_doc_id": ""
    }
  }
}
Responses422
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "errors": [
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "attribute is invalid",
      "source": {
        "pointer": "data/attributes/target_doc_id"
      }
    }
  ]
}

Create a page
POST/api/v2/pages

URI Parameters
HideShow
title
string (required) Example: Title

title

project_id
number (optional) Example: 1

project id

id
number (required) Example: 109

PATCH /api/v2/pages/1
Requestsupdates page when params are valid

PATCH  /api/v2/pages/125

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": "pages",
    "attributes": {
      "title": "new title"
    }
  }
}
Responses200
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "125",
    "type": "pages",
    "attributes": {
      "cover_image_meta": null,
      "cover_image_url": null,
      "created_at": "2025-08-02T02:25:41.516+02:00",
      "custom_fields": null,
      "edited_at": "2025-08-02T02:25:41.544+02:00",
      "icon_id": null,
      "position": null,
      "preferences": {},
      "title": "new title",
      "updated_at": "2025-08-02T02:25:41.545+02:00",
      "version_number": null,
      "last_activity_at": "2025-08-02T02:25:41.516+02:00",
      "body": "{\"text\":\"Page body 121\"}",
      "parent_page_id": null,
      "root_page_id": null,
      "public_uuid": null,
      "public": false
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "2251"
        }
      },
      "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
        }
      }
    }
  },
  "meta": {}
}

Update a page
PATCH/api/v2/pages/{id}

URI Parameters
HideShow
id
number (required) Example: 1

page id


DELETE /api/v2/pages/1
Requestssoft deletes the page

DELETE  /api/v2/pages/129

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.

Deletes a page
DELETE/api/v2/pages/{id}

URI Parameters
HideShow
id
number (required) Example: 1

page id


POST /api/v2/pages/copy
Requestscopies pagecopies page with optional paramsreturns error

POST  /api/v2/pages/copy

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": "pages",
    "attributes": {
      "template_id": 130
    }
  }
}
Responses201
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "131",
    "type": "pages",
    "attributes": {
      "cover_image_meta": null,
      "cover_image_url": null,
      "created_at": "2025-08-02T02:25:42.083+02:00",
      "custom_fields": null,
      "edited_at": "2025-08-02T02:25:42.082+02:00",
      "icon_id": null,
      "position": null,
      "preferences": {},
      "title": "Copy of Page title 118",
      "updated_at": "2025-08-02T02:25:42.086+02:00",
      "version_number": null,
      "last_activity_at": "2025-08-02T02:25:42.055+02:00",
      "body": "{\"text\":\"Page body 126\"}",
      "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
        }
      }
    }
  },
  "meta": {}
}

POST  /api/v2/pages/copy

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": "pages",
    "attributes": {
      "template_id": 132,
      "title": "new page title",
      "project_id": 2366
    }
  }
}
Responses201
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "data": {
    "id": "133",
    "type": "pages",
    "attributes": {
      "cover_image_meta": null,
      "cover_image_url": null,
      "created_at": "2025-08-02T02:25:42.299+02:00",
      "custom_fields": null,
      "edited_at": "2025-08-02T02:25:42.298+02:00",
      "icon_id": null,
      "position": null,
      "preferences": {},
      "title": "new page title",
      "updated_at": "2025-08-02T02:25:42.306+02:00",
      "version_number": null,
      "last_activity_at": "2025-08-02T02:25:42.165+02:00",
      "body": "{\"text\":\"Page body 127\"}",
      "parent_page_id": null,
      "root_page_id": null,
      "public_uuid": null,
      "public": false
    },
    "relationships": {
      "organization": {
        "data": {
          "type": "organizations",
          "id": "2256"
        }
      },
      "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
        }
      }
    }
  },
  "meta": {}
}

POST  /api/v2/pages/copy

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": "pages",
    "attributes": {
      "template_id": 134
    }
  }
}
Responses422
Headers
Content-Type: application/vnd.api+json; charset=utf-8
Body
{
  "errors": [
    {
      "status": "422",
      "code": "invalid_attribute",
      "title": "Invalid Attribute",
      "detail": "attribute is invalid",
      "source": {
        "pointer": "data/attributes/template_id"
      }
    }
  ]
}

Copies a page
POST/api/v2/pages/copy

URI Parameters
HideShow
title
string (optional) Example: Title

title

template_id
number (required) Example: 1

id of the page to be copied


Generated by aglio on 02 Aug 2025