Introducing the REST API for Markdown Importer
Version 6.4.0 of Markdown Importer for Confluence adds a REST API. You can now import Markdown into Confluence pages from a CI/CD pipeline, a script or another application, without opening the app's UI.
What's New in v6.4.0
The API takes Markdown over HTTPS and turns it into a Confluence page. It's aimed at teams that keep docs in Git and want Confluence to follow, and at anyone scripting a migration.
Key Features
Token management in the app. Admins create and revoke API tokens from the app's API tab in Confluence settings. Tokens are JWT-based, expire after a period you choose (1 to 30 days), and you can have up to 50 per site, for example one per environment.
One simple request.
Each import is a single POST with a JSON body: the space, the parent page, the page title, the Markdown content and an optional overwrite flag. The Markdown is converted to native Confluence content.
Create or update.
A new page returns 201. With overwrite: true, an existing page with the same title in the space is updated and returns 200. Without it, you get a clear "already exists" error instead of a duplicate.
Documentation and examples. The REST API docs cover setup, authentication, the full request and response reference, and examples in cURL, Node.js, Python and Go, plus GitHub Actions and GitLab CI.
A First Request
Once you've created a token, copy your site's endpoint URL from the same page. Then a single page is one curl call:
curl -X POST "$CONFLUENCE_API_ENDPOINT" \
-H "Authorization: Bearer $CONFLUENCE_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"spaceId": "98765432",
"parentId": "123456789",
"pageTitle": "My First API Page",
"content": "# Hello World\n\nThis is my first API-created page!\n\n## Features\n\n- Easy to use\n- Fast deployment\n- Automatic conversion",
"overwrite": false
}'
A successful call returns:
{
"body": "Success: Page created successfully"
}
You'll find the space ID and parent page ID in the app itself: the space and page selectors show the IDs the API expects. Use the numeric space ID, not the space key.
What It's Good For
CI/CD pipelines. Update Confluence pages whenever docs change in your repository. Our guide to syncing GitHub docs to Confluence automatically has a complete GitHub Actions workflow that sends only the changed files.
Documentation migration. Script a move from another platform and import many Markdown files with consistent formatting. For a one-off move from a Git repo, a ZIP upload through the app's UI is often quicker; see migrating GitHub or GitLab docs to Confluence.
Scheduled updates. Push release notes, changelogs or generated API docs to Confluence from scheduled jobs or webhooks.
Good to Know
- One page per request. To import a folder, loop over the files and send them one at a time.
- Content only. The API doesn't upload attachments. Images at public URLs work; local images need Confluence's own attachment API.
- Size. Content is subject to Confluence's page size limit (about 1 MB).
- Permissions. A token acts with the Confluence permissions of the user who created it.
- Import only. The API imports Markdown. Exporting is done through the app's UI.
Pricing and Trials
The REST API is included with every active Markdown Importer for Confluence license at no extra cost, and it works during the free trial. Tokens created during a trial stay valid until their own expiry date.
Get Started
Read the REST API getting started guide to create your first token, or see the full changelog.
Get Markdown Importer for Confluence on the Atlassian Marketplace
Questions or feedback on the API? Contact us through our support portal.


