Skip to main content
The Wiki API lets you retrieve and manage wiki pages within Redmine projects. Wiki pages are identified by their title within the context of a project’s wiki.
Requests must be authenticated. See REST API authentication for details.

Endpoints

MethodPathDescription
GET/projects/:project_id/wiki/index.jsonList all wiki pages in a project.
GET/projects/:project_id/wiki/:title.jsonGet a wiki page by title.
PUT/projects/:project_id/wiki/:title.jsonCreate or update a wiki page.
DELETE/projects/:project_id/wiki/:title.jsonDelete a wiki page.
The Wiki API uses PUT for both creating and updating pages — if the page does not exist, it is created.

List wiki pages

GET /projects/:project_id/wiki/index.json Returns an index of all wiki pages in the project, ordered alphabetically.

Path parameters

project_id
string
required
The project’s numeric ID or identifier string.

Example

curl -H "X-Redmine-API-Key: YOUR_API_KEY" \
  https://redmine.example.com/projects/myproject/wiki/index.json

Response

{
  "wiki_pages": [
    {
      "title": "Wiki",
      "version": 3,
      "parent": null,
      "created_on": "2024-01-20T10:00:00Z",
      "updated_on": "2024-03-10T15:30:00Z"
    },
    {
      "title": "Installation",
      "version": 1,
      "parent": { "title": "Wiki" },
      "created_on": "2024-02-01T09:00:00Z",
      "updated_on": "2024-02-01T09:00:00Z"
    }
  ]
}

Get wiki page

GET /projects/:project_id/wiki/:title.json Returns the content and metadata of a single wiki page. You can optionally request a specific historical version.

Path parameters

project_id
string
required
The project’s numeric ID or identifier string.
title
string
required
The wiki page title. Spaces should be encoded as %20 or _.

Query parameters

version
number
A specific version number to retrieve. Omit to get the latest version.
include
string
Comma-separated list of associations to embed. Valid values: attachments.

Examples

# Get the latest version of a wiki page
curl -H "X-Redmine-API-Key: YOUR_API_KEY" \
  https://redmine.example.com/projects/myproject/wiki/Installation.json

# Get version 2 of a wiki page
curl -H "X-Redmine-API-Key: YOUR_API_KEY" \
  "https://redmine.example.com/projects/myproject/wiki/Installation.json?version=2"

Response fields

wiki_page
object
required

Example response

{
  "wiki_page": {
    "title": "Installation",
    "version": 3,
    "text": "h1. Installation\n\nFollow these steps to install...",
    "author": { "id": 3, "name": "Jane Smith" },
    "comments": "Updated prerequisites section",
    "parent": { "title": "Wiki" },
    "created_on": "2024-02-01T09:00:00Z",
    "updated_on": "2024-03-10T15:30:00Z"
  }
}

Create or update wiki page

PUT /projects/:project_id/wiki/:title.json Creates a wiki page if it does not exist, or updates an existing page. The authenticated user must have the Edit wiki pages permission.

Path parameters

project_id
string
required
The project’s numeric ID or identifier string.
title
string
required
The wiki page title to create or update.

Request body

Wrap all fields inside a wiki_page object.
wiki_page.text
string
required
The full page content in Textile or Markdown format (depending on your Redmine configuration).
wiki_page.comments
string
An edit comment to associate with this version.
wiki_page.version
number
The current version number of the page. Include this to enable optimistic locking — if the page has been modified since you fetched it, the update will fail with 409 Conflict.
wiki_page.parent_title
string
Title of the parent wiki page, to set the page hierarchy.

Examples

# Create a new wiki page
curl -X PUT \
  -H "X-Redmine-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "wiki_page": {
      "text": "h1. Installation\n\nFollow these steps to install the application.",
      "comments": "Initial page creation"
    }
  }' \
  https://redmine.example.com/projects/myproject/wiki/Installation.json

# Update an existing wiki page with optimistic locking
curl -X PUT \
  -H "X-Redmine-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "wiki_page": {
      "text": "h1. Installation\n\nUpdated content.",
      "comments": "Updated prerequisites section",
      "version": 3
    }
  }' \
  https://redmine.example.com/projects/myproject/wiki/Installation.json
A successful create returns 201 Created. A successful update returns 200 OK.
Always include the version field when updating pages to prevent overwriting concurrent edits.

Delete wiki page

DELETE /projects/:project_id/wiki/:title.json Deletes a wiki page and all of its history. The authenticated user must have the Delete wiki pages permission.
Deleting a wiki page is irreversible and removes all versions of that page.

Path parameters

project_id
string
required
The project’s numeric ID or identifier string.
title
string
required
The title of the wiki page to delete.

Example

curl -X DELETE \
  -H "X-Redmine-API-Key: YOUR_API_KEY" \
  https://redmine.example.com/projects/myproject/wiki/Installation.json
A successful response returns 200 OK.