Pages

Create a page with markdown body

Changed on

Create a new page from a markdown body. The markdown is converted to the page's rich-text representation server-side and the page is then created with all standard page attributes (title, icon, parent, project, custom fields, etc.).

post/api/v2/pages/create_with_markdown

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/pages/create_with_markdown
  • Auth
    none declared

Request body

Example request

{
  "data": {
    "type": "pages",
    "attributes": {
      "title": "Project Notes",
      "markdown": "## Notes\n\nThis is a paragraph with **bold** text and a [link](https://productive.io).\n\n- bullet one\n- bullet two",
      "project_id": 5,
      "icon_id": null,
      "parent_page_id": null,
      "position": 1,
      "public_access": false
    }
  }
}

Response

Single page

Example response

{
  "data": {
    "id": "78",
    "type": "pages",
    "attributes": {
      "title": "Architecture Overview",
      "note": "System architecture documentation for the authentication service",
      "created_at": "2026-01-20T10:00:00.000+00:00",
      "updated_at": "2026-03-10T15:00:00.000+00:00",
      "last_activity_at": "2026-03-10T15:00:00.000+00:00",
      "position": 1,
      "archived_at": null
    },
    "relationships": {
      "project": {
        "data": {
          "type": "projects",
          "id": "6899"
        }
      },
      "creator": {
        "data": {
          "type": "people",
          "id": "12"
        }
      }
    }
  },
  "included": []
}

Changes

    • warning

      added the new bad_decimal_format enum value to the // response property for the response status

    • warning

      added the new non_finite_number enum value to the // response property for the response status

    • warning

      added the new null_bytes_in_params enum value to the // response property for the response 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

    • info

      added the non-success response with the status

    • info

      added the non-success response with the 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 object to no type for status

    • breaking

      the // response's property type changed from string to no type, and format from date-time 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 integer 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 object 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 integer 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 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 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

      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: Collection 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

    This list may be incomplete.