Project

General

Profile

Plugins Directory » Redmine Extended API

Author: Jan Catrysse
Website: https://github.com/jcatrysse/redmine_extended_api
Code repository: https://github.com/jcatrysse/redmine_extended_api.git
Registered on: 2025-11-14 (about 2 months ago)
Current version: 0.0.4
Compatible with: Redmine 6.1.x, 6.0.x, 5.1.x, 5.0.x
User ratings:   (0)

ATTENTION: ALPHA STAGE

This plugin exposes Redmine's REST API under an alternate base path and unlocks write access for administrative resources (Roles, Trackers, Custom Fields, etc.) that are read-only in the standard Redmine API.

It reuses Redmine's native controllers, permissions, and validations, ensuring that data integrity matches the web UI.

Features

  • Drop-in Proxy: A mirror of the core API at /extended_api. Any request that works on the standard API works here too.
  • Admin Write Access: Adds POST, PUT, and DELETE endpoints for:
    • Roles
    • Trackers
    • Issue Statuses
    • Enumerations (Priorities, Activities, etc.)
    • Custom Fields
  • Migration Utilities: Special parameters to assist with data imports:
    • Suppress email notifications (notify=false).
    • Preserve original authors and timestamps (created_on/updated_on) during issue/journal creation (Admin only).

Usage

To use the extended features, simply prepend /extended_api to any Redmine API path.

Resource Category Standard Path Extended Path Capabilities
Standard (Issues, Projects) /issues.json /extended_api/issues.json Identical behavior (Proxy).
Administrative (Roles, etc.) N/A (UI only) /extended_api/roles.json Adds Create, Update, Delete.
  • Authentication: Works exactly like core Redmine (via X-Redmine-API-Key header or Basic Auth).
  • Format: Accepts and returns JSON (.json) or XML (.xml).

Migration & Imports

The extended API is designed to help import data from other systems.

  • Suppress Emails: Append notify=false to your payload to stop Redmine from sending emails for that specific request.
  • History Preservation: When using the extended API as an admin, you can explicitly set author_id, created_on, updated_on, and closed_on to backfill historical data accurately.

Installation notes

  1. Clone the repository into your plugins directory:
    cd redmine/plugins
    git clone https://github.com/jcatrysse/redmine_extended_api.git
    
  2. Restart Redmine.

No database migrations are required.

Changelog

0.0.4 (2025-12-16)

Compatible with Redmine 6.1.x, 6.0.x, 5.1.x, 5.0.x.

  • Added admin-only issue override support (author_id, created_on, updated_on, and closed_on) when routed through the extended API.
  • Added admin-only journal override support (user, updated_on and updated_by_id) when routed through the extended API.
  • Added admin-only attachment override support (author_id and created_on) when routed through the extended API.

0.0.3 (2025-11-30)

Compatible with Redmine 6.1.x, 6.0.x, 5.1.x, 5.0.x.

Resolved handling of enumerations values in the enumeration custom field.

0.0.2 (2025-11-14)

Compatible with Redmine 6.1.x, 6.0.x, 5.1.x, 5.0.x.