MantisHub

REST API

93 endpoints

Introduction
  • POST Create token for me /users/me/token
  • POST Create token for user /users/{user_id}/token
  • DELETE Delete token for me /users/me/token/{token_id}
  • DELETE Delete token for user /users/{user_id}/token/{token_id}
  • GET Get Configuration Option /config
  • PATCH Set Configs /config
  • GET Get a filter /filters/{id}
  • DELETE Delete a filter /filters/{id}
  • GET Get all filters /filters
  • GET Get issue files /issues/{id}/files
  • POST Add attachments to issue /issues/{id}/files
  • GET Get file from issue /issues/{id}/files/{file_id}
  • POST Monitor an issue /issues/{id}/monitors
  • POST Create an issue note /issues/{id}/notes
  • DELETE Delete an issue note /issues/{id}/notes/{note_id}
  • POST Add an issue relationship /issues/{id}/relationships
  • DELETE Delete an issue relationship /issues/{id}/relationships/{relationship_id}
  • GET Get issues /issues
  • POST Create an issue /issues
  • DELETE Delete issues /issues
  • GET Get an issue /issues/{id}
  • PATCH Update an issue /issues/{id}
  • DELETE Delete an issue /issues/{id}
  • POST Attach a tag to issue /issues/{id}/tags
  • DELETE Detach a tag from an issue /issues/{id}/tags/{tag_id}
  • GET Get multiple localized strings /lang
  • GET Get all projects /projects
  • POST Create a project /projects
  • GET Get a project /projects/{id}
  • PATCH Update a project /projects/{id}
  • DELETE Delete a project /projects/{id}
  • POST Add a sub-project /projects/{id}/subprojects
  • PATCH Update a subproject /projects/{id}/subprojects/{subproject_id}
  • DELETE Delete a subproject relationship /projects/{id}/subprojects/{subproject_id}
  • GET Get Project Users that can be assigned issues /projects/{id}/handlers
  • GET Get Project Users /projects/{id}/users
  • POST Add or update a project user /projects/{id}/users
  • PUT Project Add-Update User /projects/{id}/users
  • DELETE Project Delete User /projects/{id}/users/{user_id}
  • GET Get a Project Version /projects/{id}/versions/{version_id}
  • PATCH Update project version /projects/{id}/versions/{version_id}
  • DELETE Delete a project version /projects/{id}/versions/{version_id}
  • GET Get Project Versions /projects/{id}/versions
  • POST Create a project version /projects/{id}/versions
  • GET Get My User Info /users/me
  • GET Get users /users
  • POST Create a user /users
  • GET Get User By Id /users/{user_id}
  • PATCH Update User /users/{user_id}
  • DELETE Delete a user /users/{user_id}
  • GET Get User By Username /users/username/{username}
  • PUT Reset user password /users/{id}/reset
  • GET Get Issue View Page /pages/issues/view/{id}
  • DELETE Dismiss banner /plugins/ApiX/banners/{banner_id}
  • GET Discover /plugins/ApiX/discover
  • GET Heartbeat /plugins/ApiX/heartbeat
  • POST Project issues list /plugins/ApiX/issues_list
  • POST Issues export /plugins/ApiX/issues_list/export
  • GET Recurring tasks edit page /plugins/ApiX/recurring_tasks/{recurring_task_id}/pages/edit
  • GET Recurring tasks view page /plugins/ApiX/recurring_tasks/{recurring_task_id}/pages/view
  • POST Issue create /plugins/ApiX/issues
  • POST Issue assign /plugins/ApiX/issues/{issue_id}/assign
  • DELETE Delete attachment /plugins/ApiX/issues/{issue_id}/files/{file_id}
  • POST Issue monitor add /plugins/ApiX/issues/{issue_id}/monitor
  • POST Issue move /plugins/ApiX/issues/{issue_id}/move
  • POST Issue note add /plugins/ApiX/issues/{issue_id}/notes
  • PATCH Issue note update /plugins/ApiX/issues/{issue_id}/notes/{note_id}
  • DELETE Issue note delete /plugins/ApiX/issues/{issue_id}/notes/{note_id}
  • GET Issue assign page /plugins/ApiX/issues/{issue_id}/pages/assign
  • GET Issue move page /plugins/ApiX/issues/{issue_id}/pages/move
  • GET Issue status page /plugins/ApiX/issues/{issue_id}/pages/status/{status_id}
  • GET Issue update page /plugins/ApiX/issues/{issue_id}/pages/update
  • GET Issue view page /plugins/ApiX/issues/{issue_id}/pages/view
  • POST Issue relationship add /plugins/ApiX/issues/{issue_id}/relationships
  • DELETE Issue relationship delete /plugins/ApiX/issues/{issue_id}/relationships/{relationship_id}
  • POST Issue change status /plugins/ApiX/issues/{issue_id}/status
  • GET Issue tag list /plugins/ApiX/issues/{issue_id}/tags/autocomplete
  • POST Issue monitor remove /plugins/ApiX/issues/{issue_id}/unmonitor
  • PATCH Issue update /plugins/ApiX/issues/{issue_id}/update
  • GET Bug revision diff /plugins/ApiX/revisions/{revision_id}/diff
  • GET Custom field list /plugins/ApiX/custom_fields
  • POST Custom field create /plugins/ApiX/custom_fields/create
  • GET Custom field create page /plugins/ApiX/custom_fields/pages/create
  • PATCH Custom field update /plugins/ApiX/custom_fields/{field_id}
  • DELETE Custom field delete /plugins/ApiX/custom_fields/{field_id}
  • GET Custom field update page /plugins/ApiX/custom_fields/{field_id}/pages/update
  • DELETE Helpdesk delete recipient /plugins/ApiX/helpdesk/recipient/{recipient_id}
  • POST Manage columns /plugins/ApiX/manage-columns
  • PATCH Plugin update /plugins/ApiX/plugin/{plugin_name}
  • POST Plugin install /plugins/ApiX/plugin/{plugin_name}/install
  • POST Plugin uninstall /plugins/ApiX/plugin/{plugin_name}/uninstall
  • GET Plugins list /plugins/ApiX/plugins
  • PATCH Settings update /plugins/ApiX/settings
  • GET Manage account /plugins/ApiX/pages/account
  • POST Dashboard page /plugins/ApiX/pages/dashboard
  • GET Manage page /plugins/ApiX/pages/manage
  • POST Manage columns page /plugins/ApiX/pages/manage-columns
  • GET Plan page /plugins/ApiX/pages/plan
  • GET Settings page /plugins/ApiX/pages/settings
  • GET Route page move page /plugins/ApiX/pages/{page_id}/move/{target_project_id}
  • PATCH Revert to revision /plugins/ApiX/revs/{rev_id}/revert
  • POST Category create /plugins/ApiX/categories
  • GET Category manage page /plugins/ApiX/categories/pages/manage
  • GET Category get /plugins/ApiX/categories/{category_id}
  • PATCH Category update /plugins/ApiX/categories/{category_id}
  • DELETE Category delete /plugins/ApiX/categories/{category_id}
  • POST Project create /plugins/ApiX/projects
  • GET Project create page /plugins/ApiX/projects/pages/create
  • GET Project manage page /plugins/ApiX/projects/pages/manage
  • PATCH Project update /plugins/ApiX/projects/{project_id}
  • DELETE Project delete /plugins/ApiX/projects/{project_id}
  • POST Project copy relations /plugins/ApiX/projects/{project_id}/copy-relations
  • POST Project fields group link /plugins/ApiX/projects/{project_id}/fields/group-link
  • POST Project fields group unlink /plugins/ApiX/projects/{project_id}/fields/group-unlink
  • PATCH Project field update sequence /plugins/ApiX/projects/{project_id}/fields/sequence
  • PATCH Project field update /plugins/ApiX/projects/{project_id}/fields/{field_id}
  • POST Project field link /plugins/ApiX/projects/{project_id}/fields/{field_id}/link
  • DELETE Project field unlink /plugins/ApiX/projects/{project_id}/fields/{field_id}/unlink
  • GET Project filter get all /plugins/ApiX/projects/{project_id}/filters
  • POST Project filter create /plugins/ApiX/projects/{project_id}/filters
  • POST Filter to mql /plugins/ApiX/projects/{project_id}/filters/mql
  • GET Project filter get /plugins/ApiX/projects/{project_id}/filters/{filter_id}
  • PUT Project filter update /plugins/ApiX/projects/{project_id}/filters/{filter_id}
  • POST Group action assign /plugins/ApiX/projects/{project_id}/group-action/assign
  • POST Group action attach tags /plugins/ApiX/projects/{project_id}/group-action/attach-tags
  • POST Group action close /plugins/ApiX/projects/{project_id}/group-action/close
  • DELETE Group action delete /plugins/ApiX/projects/{project_id}/group-action/delete
  • POST Route group issues update /plugins/ApiX/projects/{project_id}/group-action/edit
  • GET Project changelog page /plugins/ApiX/projects/{project_id}/pages/changelog
  • GET Issue create page /plugins/ApiX/projects/{project_id}/pages/create
  • GET Issue create page /plugins/ApiX/projects/{project_id}/pages/create/{clone_issue_id}
  • GET Project edit page /plugins/ApiX/projects/{project_id}/pages/edit
  • GET Issue filter create page /plugins/ApiX/projects/{project_id}/pages/filters/create
  • POST Issue filter edit page /plugins/ApiX/projects/{project_id}/pages/filters/edit
  • GET Group action assign page /plugins/ApiX/projects/{project_id}/pages/group-action/assign
  • GET Group action attach tags page /plugins/ApiX/projects/{project_id}/pages/group-action/attach-tags
  • GET Group action close page /plugins/ApiX/projects/{project_id}/pages/group-action/close
  • GET Route group action edit page /plugins/ApiX/projects/{project_id}/pages/group-action/edit
  • GET Page view page /plugins/ApiX/projects/{project_id}/pages/name/{page_name}
  • GET Page revs page /plugins/ApiX/projects/{project_id}/pages/name/{page_name}/revs
  • GET Page revision page /plugins/ApiX/projects/{project_id}/pages/name/{page_name}/revs/{rev_id}
  • GET Page diff get /plugins/ApiX/projects/{project_id}/pages/name/{page_name}/revs/{rev_id}/diff
  • GET Page browse page /plugins/ApiX/projects/{project_id}/pages/pages/browse
  • GET Page create page /plugins/ApiX/projects/{project_id}/pages/pages/create
  • GET Issue create page /plugins/ApiX/projects/{project_id}/pages/report
  • GET Project roadmap page /plugins/ApiX/projects/{project_id}/pages/roadmap
  • GET Time tracking page /plugins/ApiX/projects/{project_id}/pages/time-tracking
  • GET Page update page /plugins/ApiX/projects/{project_id}/pages/update/{page_name}
  • GET Recurring tasks get /plugins/ApiX/projects/{project_id}/recurring_tasks
  • GET Recurring tasks create page /plugins/ApiX/projects/{project_id}/recurring_tasks/pages/create
  • POST Time tracking report /plugins/ApiX/projects/{project_id}/time-tracking
  • GET Time tracking export report /plugins/ApiX/projects/{project_id}/time-tracking/export/{export_type}
  • POST Project bulk add users /plugins/ApiX/projects/{project_id}/users
  • POST Lookup /plugins/ApiX/lookup
  • POST Search /plugins/ApiX/search
  • GET Route snippets search /plugins/ApiX/snippets/search
  • GET Snippets list /plugins/ApiX/snippets_list
  • GET Tag get all /plugins/ApiX/tags
  • POST Tag create /plugins/ApiX/tags
  • PATCH Tag update /plugins/ApiX/tags/{tag_id}
  • DELETE Tag delete /plugins/ApiX/tags/{tag_id}
  • GET Tag browse page /plugins/ApiX/tags/{tag_id}/pages/browse
  • GET Tag edit page /plugins/ApiX/tags/{tag_id}/pages/edit
  • GET Me account page /plugins/ApiX/me/account
  • PATCH Me password update /plugins/ApiX/me/password
  • GET Me tokens page /plugins/ApiX/me/tokens
  • GET User settings page /plugins/ApiX/user-settings
  • PATCH User settings update /plugins/ApiX/user-settings
  • POST User create /plugins/ApiX/users
  • GET User create page /plugins/ApiX/users/pages/create
  • GET User search /plugins/ApiX/users/search
  • GET User get /plugins/ApiX/users/{user_id}
  • PATCH User update /plugins/ApiX/users/{user_id}
  • PUT User impersonate /plugins/ApiX/users/{user_id}/impersonate
  • GET User edit page /plugins/ApiX/users/{user_id}/pages/edit
  • POST Project add users /plugins/ApiX/users/{user_id}/projects
  • PUT User reset /plugins/ApiX/users/{user_id}/reset
  • GET Get a dashboard by ID for viewing /plugins/Dantis/dashboards/{id}/pages/view
  • GET Get dashboard-create page data /plugins/Dantis/projects/{project_id}/pages/dashboard/create
  • GET Get dashboard-edit page data /plugins/Dantis/projects/{project_id}/pages/dashboards/{name}/edit
  • GET Get a named dashboard for reporting /plugins/Dantis/projects/{project_id}/pages/dashboards/{name}/view
  • GET List owned and favorite dashboards /plugins/Dantis/projects/{project_id}/pages/dashboards_list
  • POST Create a dashboard /plugins/Dantis/dashboards/create
  • PATCH Update a dashboard /plugins/Dantis/dashboards/{id}
  • DELETE Delete a dashboard /plugins/Dantis/dashboards/{id}
  • POST Favorite a dashboard /plugins/Dantis/dashboards/{id}/favorite
  • DELETE Remove a dashboard from favorites /plugins/Dantis/dashboards/{id}/favorite
  • PATCH Update a dashboard by project and name /plugins/Dantis/projects/{project_id}/dashboards/{name}
  • POST Resolve widget data /plugins/Dantis/widget
  • POST Upload or replace a user's avatar /plugins/Lavatar
  • DELETE Delete a user's avatar /plugins/Lavatar/{user_id}
  • PATCH Update a page note /plugins/Pages/notes/{note_id}
  • DELETE Delete a page note /plugins/Pages/notes/{note_id}
  • GET Download a page-note attachment /plugins/Pages/notes/{note_id}/files/{file_id}
  • DELETE Delete a page-note attachment /plugins/Pages/notes/{note_id}/files/{file_id}
  • GET List notes on a page /plugins/Pages/{page_id}/notes
  • POST Create a note on a page /plugins/Pages/{page_id}/notes
  • POST Create a markdown page /plugins/Pages
  • PATCH Update a markdown page /plugins/Pages
  • POST Get a page by project and name /plugins/Pages/get
  • DELETE Delete a page revision /plugins/Pages/revs/{rev_id}
  • GET Get a page by ID /plugins/Pages/{page_id}
  • DELETE Delete a page /plugins/Pages/{page_id}
  • DELETE Delete a page attachment /plugins/Pages/{page_id}/files/{file_id}
  • POST Move a page to another project /plugins/Pages/{page_id}/move/{target_project_id}
  • POST Create a recurring task /plugins/RecurringTasks
  • GET List tasks for a project (named route) /plugins/RecurringTasks/projects/{project_id}/tasks
  • POST Create a project recurring task (named route) /plugins/RecurringTasks/projects/{project_id}/tasks
  • GET List the current user's personal tasks /plugins/RecurringTasks/tasks
  • GET Get a recurring task /plugins/RecurringTasks/{id}
  • PUT Update a recurring task /plugins/RecurringTasks/{id}
  • DELETE Delete a recurring task /plugins/RecurringTasks/{id}
  • POST Trigger a recurring task /plugins/RecurringTasks/{id}/trigger
  • GET List tasks for a project /plugins/RecurringTasks/{project_id}/tasks
  • POST Create a project recurring task /plugins/RecurringTasks/{project_id}/tasks

No endpoint matches that search.

MantisHub REST API

REST API calls have to be authenticated by creating an API token for the user doing the calls, and then passing the API token in the 'Authorization' header. However, for anonymous access, the API key and header are not needed.

The token must be passed using the standard RFC 6750 bearer scheme (Authorization: Bearer <token>); the scheme name is matched case-insensitively.

The REST API is kept current with the latest MantisHub code.

Getting started

All paths in this document are relative to your MantisHub instance. For example, an instance at https://instance-name.mantishub.io serves this API at https://instance-name.mantishub.io/api/rest. Use the non-trailing-slash form shown in this document. Requests and responses use JSON unless an endpoint explicitly documents a different format.

Create an API token in MantisHub, then send it in the Authorization header with the Bearer prefix:

Authorization: Bearer <api-token>
Content-Type: application/json

Browser requests authenticated with a MantisHub session cookie are also supported. When anonymous access is enabled, read operations may be available without either credential; permissions still apply in every case.

Common request conventions

Object references generally accept an id or name, allowing clients to use stable numeric identifiers while still supporting readable payloads. List endpoints that expose page and page_size use one-based page numbers. The select query parameter accepts a comma-separated list of fields, which is useful for reducing response size when only a subset is required.

File uploads are JSON payloads: each entry in files has a filename in name and base64-encoded data in content.

Conditional issue updates

Issue reads return an ETag. Send it in If-Match on issue updates or deletes to prevent overwriting a newer version; a stale value produces 412 Precondition Failed and returns the current ETag. Send the same value in If-None-Match on a read to receive 304 Not Modified when the issue has not changed.

Errors and response headers

Successful responses identify the effective user and authentication method in X-Mantis-Username and X-Mantis-LoginMethod; X-Mantis-Version reports the running MantisHub version. A 204 response intentionally has no response body. Errors use the HTTP status code and may include JSON fields such as message, code, and localized.

Impersonation

Users with the access level defined by $g_impersonate_user_threshold (default: ADMINISTRATOR) can execute REST API calls on behalf of another user by adding the X-Mantis-Username request header containing the target username. Impersonation requires API token authentication; it is not available with cookie or anonymous access.

Constraints:

  • The caller must authenticate with an API token.
  • The caller must have at least the $g_impersonate_user_threshold access level.
  • A user cannot impersonate themselves.
  • A user cannot impersonate a user with a higher access level than their own.
  • The target user must be a valid, enabled user.

Response Headers

Every API response includes the following informational headers:

  • X-Mantis-Username – The username under which the request was executed (the impersonated user's name when impersonation is active).
  • X-Mantis-LoginMethod – The authentication method used: api-token, cookie, or anonymous.

This aggregate document includes the core MantisBT API and the published plugin APIs: ApiX, Dantis, Lavatar, Pages, RecurringTasks.

Status selector: all. Internal operations are excluded from documentation and API clients.

API Tokens

POST /users/me/token #

Create token for me

Creates a token for the authenticated user. Store the returned token securely: it is the credential sent in the Authorization header for subsequent API calls.

Parameters

Name In Type Description
X-Mantis-Username header string Username to impersonate for this request. Requires an authorized API token.

Request body

name string

Responses

  • 201 Resource created successfully X-Mantis-Username X-Mantis-LoginMethod X-Mantis-Version
    "string"
  • 400 Bad Request
  • 401 Authentication is required or the supplied API token is invalid. WWW-Authenticate
  • 403 The authenticated user is not authorized for this operation, impersonation, or API access level.
  • 404 Entity not found
  • 503 MantisHub is temporarily unavailable and cannot process API requests.
cURL
curl -X POST \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/users/me/token \
  -d '{
    "name": "string"
}'
Request body · application/json
{
    "name": "string"
}
POST /users/{user_id}/token #

Create token for user

Creates a token for another user. This requires permission to impersonate that user and cannot target a user with a higher access level than the caller.

Parameters

Name In Type Description
user_id required path integer The user ID e.g. 5
X-Mantis-Username header string Username to impersonate for this request. Requires an authorized API token.

Request body

name string

Responses

  • 201 Resource created successfully X-Mantis-Username X-Mantis-LoginMethod X-Mantis-Version
    "string"
  • 400 Bad Request
  • 401 Authentication is required or the supplied API token is invalid. WWW-Authenticate
  • 403 The authenticated user is not authorized for this operation, impersonation, or API access level.
  • 404 Entity not found
  • 503 MantisHub is temporarily unavailable and cannot process API requests.
cURL
curl -X POST \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/users/5/token \
  -d '{
    "name": "string"
}'
Request body · application/json
{
    "name": "string"
}
DELETE /users/me/token/{token_id} #

Delete token for me

Parameters

Name In Type Description
token_id required path integer
X-Mantis-Username header string Username to impersonate for this request. Requires an authorized API token.

Responses

  • 204 Operation completed successfully with no response body X-Mantis-Username X-Mantis-LoginMethod X-Mantis-Version
  • 400 Bad Request
  • 401 Authentication is required or the supplied API token is invalid. WWW-Authenticate
  • 403 The authenticated user is not authorized for this operation, impersonation, or API access level.
  • 404 Entity not found
  • 503 MantisHub is temporarily unavailable and cannot process API requests.
cURL
curl -X DELETE \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/users/me/token/1
DELETE /users/{user_id}/token/{token_id} #

Delete token for user

Parameters

Name In Type Description
user_id required path integer The user ID e.g. 5
token_id required path integer
X-Mantis-Username header string Username to impersonate for this request. Requires an authorized API token.

Responses

  • 204 Operation completed successfully with no response body X-Mantis-Username X-Mantis-LoginMethod X-Mantis-Version
  • 400 Bad Request
  • 401 Authentication is required or the supplied API token is invalid. WWW-Authenticate
  • 403 The authenticated user is not authorized for this operation, impersonation, or API access level.
  • 404 Entity not found
  • 503 MantisHub is temporarily unavailable and cannot process API requests.
cURL
curl -X DELETE \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/users/5/token/1

Configs

GET /config #

Get Configuration Option

Parameters

Name In Type Description
X-Mantis-Username header string Username to impersonate for this request. Requires an authorized API token.
option[] required query string
project_id query integer
user_id query integer

Responses

  • 200 Success ETag X-Mantis-Username X-Mantis-LoginMethod X-Mantis-Version
    "string"
  • 400 Bad Request
  • 401 Authentication is required or the supplied API token is invalid. WWW-Authenticate
  • 403 The authenticated user is not authorized for this operation, impersonation, or API access level.
  • 404 Entity not found
  • 503 MantisHub is temporarily unavailable and cannot process API requests.
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/config?option%5B%5D=value
PATCH /config #

Set Configs

Parameters

Name In Type Description
X-Mantis-Username header string Username to impersonate for this request. Requires an authorized API token.

Request body required

project object
name string
configs object[]
option string
value string

Responses

  • 200 Operation completed successfully with no response body X-Mantis-Username X-Mantis-LoginMethod X-Mantis-Version
  • 400 Bad Request
  • 401 Authentication is required or the supplied API token is invalid. WWW-Authenticate
  • 403 The authenticated user is not authorized for this operation, impersonation, or API access level.
  • 503 MantisHub is temporarily unavailable and cannot process API requests.
cURL
curl -X PATCH \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/config \
  -d '{
    "project": {
        "name": "string"
    },
    "configs": [
        {
            "option": "string",
            "value": "string"
        }
    ]
}'
Request body · application/json
{
    "project": {
        "name": "string"
    },
    "configs": [
        {
            "option": "string",
            "value": "string"
        }
    ]
}

Filters

GET /filters/{id} #

Get a filter

Parameters

Name In Type Description
id required path string
X-Mantis-Username header string Username to impersonate for this request. Requires an authorized API token.

Responses

  • 200 Success ETag X-Mantis-Username X-Mantis-LoginMethod X-Mantis-Version
    "string"
  • 400 Bad Request
  • 401 Authentication is required or the supplied API token is invalid. WWW-Authenticate
  • 403 The authenticated user is not authorized for this operation, impersonation, or API access level.
  • 404 Entity not found
  • 503 MantisHub is temporarily unavailable and cannot process API requests.
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/filters/value
DELETE /filters/{id} #

Delete a filter

Parameters

Name In Type Description
id required path string
X-Mantis-Username header string Username to impersonate for this request. Requires an authorized API token.

Responses

  • 204 Operation completed successfully with no response body X-Mantis-Username X-Mantis-LoginMethod X-Mantis-Version
  • 400 Bad Request
  • 401 Authentication is required or the supplied API token is invalid. WWW-Authenticate
  • 403 The authenticated user is not authorized for this operation, impersonation, or API access level.
  • 404 Entity not found
  • 503 MantisHub is temporarily unavailable and cannot process API requests.
cURL
curl -X DELETE \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/filters/value
GET /filters #

Get all filters

Parameters

Name In Type Description
X-Mantis-Username header string Username to impersonate for this request. Requires an authorized API token.
project_id query integer Return filters available in the specified project.

Responses

  • 200 Success ETag X-Mantis-Username X-Mantis-LoginMethod X-Mantis-Version
    "string"
  • 400 Bad Request
  • 401 Authentication is required or the supplied API token is invalid. WWW-Authenticate
  • 403 The authenticated user is not authorized for this operation, impersonation, or API access level.
  • 404 Entity not found
  • 503 MantisHub is temporarily unavailable and cannot process API requests.
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/filters

Issue Attachments

GET /issues/{id}/files #

Get issue files

Parameters

Name In Type Description
id required path integer The issue ID e.g. 123
X-Mantis-Username header string Username to impersonate for this request. Requires an authorized API token.

Responses

  • 200 Issue files returned successfully. X-Mantis-Username X-Mantis-LoginMethod X-Mantis-Version
    files object[] required
    id integer
    reporter object
    name string
    email string
    created_at string · date-time
    filename string
    size integer
    content_type string
    content string · byte Base64-encoded file content.
    {
        "files": [
            {
                "id": 1,
                "reporter": {
                    "name": "John Doe",
                    "email": "john@example.com"
                },
                "created_at": "string",
                "filename": "string",
                "size": 1,
                "content_type": "string",
                "content": "string"
            }
        ]
    }
  • 400 Bad Request
  • 401 Authentication is required or the supplied API token is invalid. WWW-Authenticate
  • 403 The authenticated user is not authorized for this operation, impersonation, or API access level.
  • 404 Entity not found
  • 503 MantisHub is temporarily unavailable and cannot process API requests.
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/issues/123/files
POST /issues/{id}/files #

Add attachments to issue

Parameters

Name In Type Description
id required path integer The issue ID e.g. 123
X-Mantis-Username header string Username to impersonate for this request. Requires an authorized API token.

Request body required

files object[]
name string
content string
reporter object
name string

Responses

  • 201 Resource created successfully with no response body X-Mantis-Username X-Mantis-LoginMethod X-Mantis-Version
  • 400 Bad Request
  • 401 Authentication is required or the supplied API token is invalid. WWW-Authenticate
  • 403 The authenticated user is not authorized for this operation, impersonation, or API access level.
  • 404 Entity not found
  • 503 MantisHub is temporarily unavailable and cannot process API requests.
cURL
curl -X POST \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/issues/123/files \
  -d '{
    "files": [
        {
            "name": "string",
            "content": "string"
        }
    ],
    "reporter": {
        "name": "string"
    }
}'
Request body · application/json
{
    "files": [
        {
            "name": "string",
            "content": "string"
        }
    ],
    "reporter": {
        "name": "string"
    }
}
GET /issues/{id}/files/{file_id} #

Get file from issue

Parameters

Name In Type Description
id required path integer The issue ID e.g. 123
file_id required path integer e.g. 567
X-Mantis-Username header string Username to impersonate for this request. Requires an authorized API token.

Responses

  • 200 File returned successfully. X-Mantis-Username X-Mantis-LoginMethod X-Mantis-Version
    files object[] required
    id integer
    reporter object
    name string
    email string
    created_at string · date-time
    filename string
    size integer
    content_type string
    content string · byte Base64-encoded file content.
    {
        "files": [
            {
                "id": 1,
                "reporter": {
                    "name": "John Doe",
                    "email": "john@example.com"
                },
                "created_at": "string",
                "filename": "string",
                "size": 1,
                "content_type": "string",
                "content": "string"
            }
        ]
    }
  • 400 Bad Request
  • 401 Authentication is required or the supplied API token is invalid. WWW-Authenticate
  • 403 The authenticated user is not authorized for this operation, impersonation, or API access level.
  • 404 Entity not found
  • 503 MantisHub is temporarily unavailable and cannot process API requests.
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/issues/123/files/567

Issue Monitoring

POST /issues/{id}/monitors #

Monitor an issue

Parameters

Name In Type Description
id required path integer The issue ID e.g. 123
X-Mantis-Username header string Username to impersonate for this request. Requires an authorized API token.

Request body

users object[]
name string
email string

Responses

  • 201 Resource created successfully X-Mantis-Username X-Mantis-LoginMethod X-Mantis-Version
    "string"
  • 400 Bad Request
  • 401 Authentication is required or the supplied API token is invalid. WWW-Authenticate
  • 403 The authenticated user is not authorized for this operation, impersonation, or API access level.
  • 404 Entity not found
  • 503 MantisHub is temporarily unavailable and cannot process API requests.
cURL
curl -X POST \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/issues/123/monitors \
  -d '{
    "users": [
        {
            "name": "John Doe",
            "email": "john@example.com"
        }
    ]
}'
Request body · application/json
{
    "users": [
        {
            "name": "John Doe",
            "email": "john@example.com"
        }
    ]
}

Issue Notes

POST /issues/{id}/notes #

Create an issue note

Parameters

Name In Type Description
id required path integer The issue ID e.g. 123
X-Mantis-Username header string Username to impersonate for this request. Requires an authorized API token.

Request body required

text string
view_state object
id number
name string
label string
time_tracking object
duration string
files object[]
name string
content string

Responses

  • 201 Resource created successfully X-Mantis-Username X-Mantis-LoginMethod X-Mantis-Version
    "string"
  • 202 Request accepted for moderation X-Mantis-Username X-Mantis-LoginMethod X-Mantis-Version
  • 400 Bad Request
  • 401 Authentication is required or the supplied API token is invalid. WWW-Authenticate
  • 403 The authenticated user is not authorized for this operation, impersonation, or API access level.
  • 404 Entity not found
  • 503 MantisHub is temporarily unavailable and cannot process API requests.
cURL
curl -X POST \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/issues/123/notes \
  -d '{
    "text": "string",
    "view_state": {
        "id": 10,
        "name": "public",
        "label": "Public"
    },
    "time_tracking": {
        "duration": "string"
    },
    "files": [
        {
            "name": "string",
            "content": "string"
        }
    ]
}'
Request body · application/json
{
    "text": "string",
    "view_state": {
        "id": 10,
        "name": "public",
        "label": "Public"
    },
    "time_tracking": {
        "duration": "string"
    },
    "files": [
        {
            "name": "string",
            "content": "string"
        }
    ]
}
DELETE /issues/{id}/notes/{note_id} #

Delete an issue note

Parameters

Name In Type Description
id required path integer The issue ID e.g. 123
note_id required path integer
X-Mantis-Username header string Username to impersonate for this request. Requires an authorized API token.

Responses

  • 200 Success ETag X-Mantis-Username X-Mantis-LoginMethod X-Mantis-Version
    "string"
  • 400 Bad Request
  • 401 Authentication is required or the supplied API token is invalid. WWW-Authenticate
  • 403 The authenticated user is not authorized for this operation, impersonation, or API access level.
  • 404 Entity not found
  • 503 MantisHub is temporarily unavailable and cannot process API requests.
cURL
curl -X DELETE \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/issues/123/notes/1

Issue Relationships

POST /issues/{id}/relationships #

Add an issue relationship

Parameters

Name In Type Description
id required path integer The issue ID e.g. 123
X-Mantis-Username header string Username to impersonate for this request. Requires an authorized API token.

Request body required

issue object
id number
type object
name string

Responses

  • 201 Resource created successfully X-Mantis-Username X-Mantis-LoginMethod X-Mantis-Version
    "string"
  • 400 Bad Request
  • 401 Authentication is required or the supplied API token is invalid. WWW-Authenticate
  • 403 The authenticated user is not authorized for this operation, impersonation, or API access level.
  • 404 Entity not found
  • 503 MantisHub is temporarily unavailable and cannot process API requests.
cURL
curl -X POST \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/issues/123/relationships \
  -d '{
    "issue": {
        "id": 1
    },
    "type": {
        "name": "string"
    }
}'
Request body · application/json
{
    "issue": {
        "id": 1
    },
    "type": {
        "name": "string"
    }
}
DELETE /issues/{id}/relationships/{relationship_id} #

Delete an issue relationship

Parameters

Name In Type Description
id required path integer The issue ID e.g. 123
relationship_id required path integer
X-Mantis-Username header string Username to impersonate for this request. Requires an authorized API token.

Responses

  • 200 Success ETag X-Mantis-Username X-Mantis-LoginMethod X-Mantis-Version
    "string"
  • 400 Bad Request
  • 401 Authentication is required or the supplied API token is invalid. WWW-Authenticate
  • 403 The authenticated user is not authorized for this operation, impersonation, or API access level.
  • 404 Entity not found
  • 503 MantisHub is temporarily unavailable and cannot process API requests.
cURL
curl -X DELETE \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/issues/123/relationships/1

Issues

GET /issues #

Get issues

Returns issues visible to the effective user. Use project_id to scope the search and filter_id for a built-in or saved filter. Results are paginated; omit select to use the default issue fields. The response includes an ETag; send it in If-None-Match to receive 304 Not Modified when the result has not changed.

Parameters

Name In Type Description
X-Mantis-Username header string Username to impersonate for this request. Requires an authorized API token.
If-None-Match header string ETag returned by a prior issue read. A matching value returns 304 without a response body.
project_id query integer e.g. 1
filter_id query string
page_size query integer
page query integer e.g. 1
select query string e.g. id,summary,description

Responses

  • 200 Success ETag X-Mantis-Username X-Mantis-LoginMethod X-Mantis-Version
    "string"
  • 304 The requested issue has not changed since the supplied ETag. ETag
  • 400 Bad Request
  • 401 Authentication is required or the supplied API token is invalid. WWW-Authenticate
  • 403 The authenticated user is not authorized for this operation, impersonation, or API access level.
  • 404 Entity not found
  • 503 MantisHub is temporarily unavailable and cannot process API requests.
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/issues
POST /issues #

Create an issue

When creating an issue, most of the fields other than summary, description and category are typically optional. It is also worth noting that when passing references to enumerations like priority or object references like handler, it is sufficient to pass the id or name.

Parameters

Name In Type Description
X-Mantis-Username header string Username to impersonate for this request. Requires an authorized API token.

Request body required

id integer
summary string
description string
steps_to_reproduce string
additional_information string
project object
name string
category object
name string
handler object
name string
email string
reporter object
name string
email string
status object
id number
name string
label string
resolution object
id number
name string
label string
projection object
id number
name string
label string
eta object
id number
name string
label string
view_state object
id number
name string
label string
priority object
id number
name string
label string
severity object
id number
name string
label string
reproducibility object
id number
name string
label string
version object
name string
fixed_in_version object
name string
target_version object
name string
sticky boolean sticky issues show at the top of the View Issues page.
due_date string · date
date_submitted string · date-time
date_updated string · date-time
os string
os_build string
build string
platform string
profile_id integer
profile object
created_at string · date-time
updated_at string · date-time
attachments object[]
id integer
reporter object
name string
email string
created_at string · date-time
filename string
size integer
content_type string
content string · byte Base64-encoded file content.
relationships object[]
tags object[]
history object[]
notes object[]
id integer
text string
reporter object
name string
email string
view_state object
id number
name string
label string
type string
attr string
created_at string · date-time
updated_at string · date-time
attachments object[]
id integer
reporter object
name string
email string
created_at string · date-time
filename string
size integer
content_type string
content string · byte Base64-encoded file content.
time_tracking object
duration string
files object[]
name string
content string
monitors object[]
name string
email string
files object[]
name string
content string
custom_fields object[]
field object
id number
name string
value string

Responses

  • 201 Resource created successfully X-Mantis-Username X-Mantis-LoginMethod X-Mantis-Version
    "string"
  • 202 Request accepted for moderation X-Mantis-Username X-Mantis-LoginMethod X-Mantis-Version
  • 400 Bad Request
  • 401 Authentication is required or the supplied API token is invalid. WWW-Authenticate
  • 403 The authenticated user is not authorized for this operation, impersonation, or API access level.
  • 404 Entity not found
  • 503 MantisHub is temporarily unavailable and cannot process API requests.
cURL
curl -X POST \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/issues \
  -d '{
    "id": 1,
    "summary": "This is a summary",
    "description": "This is a description.\nIt can be multiline.\n",
    "steps_to_reproduce": "This is steps to reproduce.\nIt can be multiline.\n",
    "additional_information": "This is additional information.\nIt can be multiline.\n",
    "project": {
        "name": "MantisHub"
    },
    "category": {
        "name": "Authn"
    },
    "handler": {
        "name": "John Doe",
        "email": "john@example.com"
    },
    "reporter": {
        "name": "John Doe",
        "email": "john@example.com"
    },
    "status": {
        "id": 1,
        "name": "some-name",
        "label": "Localized Name"
    },
    "resolution": {
        "id": 1,
        "name": "some-name",
        "label": "Localized Name"
    },
    "projection": {
        "id": 1,
        "name": "some-name",
        "label": "Localized Name"
    },
    "eta": {
        "id": 1,
        "name": "some-name",
        "label": "Localized Name"
    },
    "view_state": {
        "id": 10,
        "name": "public",
        "label": "Public"
    },
    "priority": {
        "id": 40,
        "name": "high",
        "label": "High"
    },
    "severity": {
        "id": 60,
        "name": "major",
        "label": "Major"
    },
    "reproducibility": {
        "id": 10,
        "name": "always",
        "label": "Always"
    },
    "version": {
        "name": "MantisHub"
    },
    "fixed_in_version": {
        "name": "MantisHub"
    },
    "target_version": {
        "name": "MantisHub"
    },
    "sticky": true,
    "due_date": "string",
    "date_submitted": "string",
    "date_updated": "string",
    "os": "string",
    "os_build": "string",
    "build": "string",
    "platform": "string",
    "profile_id": 1,
    "profile": [],
    "created_at": "string",
    "updated_at": "string",
    "attachments": [
        {
            "id": 1,
            "reporter": {
                "name": "John Doe",
                "email": "john@example.com"
            },
            "created_at": "string",
            "filename": "string",
            "size": 1,
            "content_type": "string",
            "content": "string"
        }
    ],
    "relationships": [
        []
    ],
    "tags": [
        []
    ],
    "history": [
        []
    ],
    "notes": [
        {
            "id": 1,
            "text": "string",
            "reporter": {
                "name": "John Doe",
                "email": "john@example.com"
            },
            "view_state": {
                "id": 10,
                "name": "public",
                "label": "Public"
            },
            "type": "string",
            "attr": "string",
            "created_at": "string",
            "updated_at": "string",
            "attachments": [
                {
                    "id": 1,
                    "reporter": {
                        "name": "John Doe",
                        "email": "john@example.com"
                    },
                    "created_at": "string",
                    "filename": "string",
                    "size": 1,
                    "content_type": "string",
                    "content": "string"
                }
            ],
            "time_tracking": {
                "duration": "string"
            },
            "files": [
                {
                    "name": "string",
                    "content": "string"
                }
            ]
        }
    ],
    "monitors": [
        {
            "name": "John Doe",
            "email": "john@example.com"
        }
    ],
    "files": [
        {
            "name": "string",
            "content": "string"
        }
    ],
    "custom_fields": [
        {
            "field": {
                "id": 1,
                "name": "string"
            },
            "value": "string"
        }
    ]
}'
Request body · application/json
{
    "id": 1,
    "summary": "This is a summary",
    "description": "This is a description.\nIt can be multiline.\n",
    "steps_to_reproduce": "This is steps to reproduce.\nIt can be multiline.\n",
    "additional_information": "This is additional information.\nIt can be multiline.\n",
    "project": {
        "name": "MantisHub"
    },
    "category": {
        "name": "Authn"
    },
    "handler": {
        "name": "John Doe",
        "email": "john@example.com"
    },
    "reporter": {
        "name": "John Doe",
        "email": "john@example.com"
    },
    "status": {
        "id": 1,
        "name": "some-name",
        "label": "Localized Name"
    },
    "resolution": {
        "id": 1,
        "name": "some-name",
        "label": "Localized Name"
    },
    "projection": {
        "id": 1,
        "name": "some-name",
        "label": "Localized Name"
    },
    "eta": {
        "id": 1,
        "name": "some-name",
        "label": "Localized Name"
    },
    "view_state": {
        "id": 10,
        "name": "public",
        "label": "Public"
    },
    "priority": {
        "id": 40,
        "name": "high",
        "label": "High"
    },
    "severity": {
        "id": 60,
        "name": "major",
        "label": "Major"
    },
    "reproducibility": {
        "id": 10,
        "name": "always",
        "label": "Always"
    },
    "version": {
        "name": "MantisHub"
    },
    "fixed_in_version": {
        "name": "MantisHub"
    },
    "target_version": {
        "name": "MantisHub"
    },
    "sticky": true,
    "due_date": "string",
    "date_submitted": "string",
    "date_updated": "string",
    "os": "string",
    "os_build": "string",
    "build": "string",
    "platform": "string",
    "profile_id": 1,
    "profile": [],
    "created_at": "string",
    "updated_at": "string",
    "attachments": [
        {
            "id": 1,
            "reporter": {
                "name": "John Doe",
                "email": "john@example.com"
            },
            "created_at": "string",
            "filename": "string",
            "size": 1,
            "content_type": "string",
            "content": "string"
        }
    ],
    "relationships": [
        []
    ],
    "tags": [
        []
    ],
    "history": [
        []
    ],
    "notes": [
        {
            "id": 1,
            "text": "string",
            "reporter": {
                "name": "John Doe",
                "email": "john@example.com"
            },
            "view_state": {
                "id": 10,
                "name": "public",
                "label": "Public"
            },
            "type": "string",
            "attr": "string",
            "created_at": "string",
            "updated_at": "string",
            "attachments": [
                {
                    "id": 1,
                    "reporter": {
                        "name": "John Doe",
                        "email": "john@example.com"
                    },
                    "created_at": "string",
                    "filename": "string",
                    "size": 1,
                    "content_type": "string",
                    "content": "string"
                }
            ],
            "time_tracking": {
                "duration": "string"
            },
            "files": [
                {
                    "name": "string",
                    "content": "string"
                }
            ]
        }
    ],
    "monitors": [
        {
            "name": "John Doe",
            "email": "john@example.com"
        }
    ],
    "files": [
        {
            "name": "string",
            "content": "string"
        }
    ],
    "custom_fields": [
        {
            "field": {
                "id": 1,
                "name": "string"
            },
            "value": "string"
        }
    ]
}
DELETE /issues #

Delete issues

Deletes the issues selected by the request's issue parameters.

Parameters

Name In Type Description
X-Mantis-Username header string Username to impersonate for this request. Requires an authorized API token.
id required query integer ID of the issue to delete.

Responses

  • 204 Operation completed successfully with no response body X-Mantis-Username X-Mantis-LoginMethod X-Mantis-Version
  • 400 Bad Request
  • 401 Authentication is required or the supplied API token is invalid. WWW-Authenticate
  • 403 The authenticated user is not authorized for this operation, impersonation, or API access level.
  • 404 Entity not found
  • 503 MantisHub is temporarily unavailable and cannot process API requests.
cURL
curl -X DELETE \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/issues?id=1
GET /issues/{id} #

Get an issue

Returns one visible issue. The response includes an ETag; use it with If-Match when subsequently updating or deleting the issue.

Parameters

Name In Type Description
id required path integer The issue ID e.g. 123
X-Mantis-Username header string Username to impersonate for this request. Requires an authorized API token.
If-None-Match header string ETag returned by a prior issue read. A matching value returns 304 without a response body.
select query string e.g. id,summary,description

Responses

  • 200 Success ETag X-Mantis-Username X-Mantis-LoginMethod X-Mantis-Version
    "string"
  • 304 The requested issue has not changed since the supplied ETag. ETag
  • 400 Bad Request
  • 401 Authentication is required or the supplied API token is invalid. WWW-Authenticate
  • 403 The authenticated user is not authorized for this operation, impersonation, or API access level.
  • 404 Entity not found
  • 503 MantisHub is temporarily unavailable and cannot process API requests.
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/issues/123
PATCH /issues/{id} #

Update an issue

Applies the supplied fields to an existing issue. For optimistic concurrency, first read the issue and send its ETag in If-Match. A mismatch returns 412 Precondition Failed.

Parameters

Name In Type Description
id required path integer The issue ID e.g. 123
X-Mantis-Username header string Username to impersonate for this request. Requires an authorized API token.
If-Match header string ETag returned by a prior issue read. The operation fails with 412 if it no longer matches.

Request body required

id integer
project object
name string
reporter object
name string
email string
summary string
description string
steps_to_reproduce string
additional_information string
category object
name string
priority object
name string
handler object
name string
status object
name string
severity object
id integer
name string
reproducibility object
id integer
name string
resolution object
id integer
name string
projection object
id integer
name string
eta object
id integer
name string
view_state object
id integer
name string
version object
id integer
name string
fixed_in_version object
id integer
name string
target_version object
id integer
name string
sticky boolean
due_date string · date
date_submitted string · date-time
date_updated string · date-time
profile_id integer
os string
os_build string
build string
platform string
monitors object[]
name string
email string
custom_fields object[]
field object
name string
value string
notes object[]
id number
reporter object
name string
text string
view_state object
id number
name string
label string

Responses

  • 200 Success ETag X-Mantis-Username X-Mantis-LoginMethod X-Mantis-Version
    "string"
  • 400 Bad Request
  • 401 Authentication is required or the supplied API token is invalid. WWW-Authenticate
  • 403 The authenticated user is not authorized for this operation, impersonation, or API access level.
  • 404 Entity not found
  • 412 The supplied If-Match value does not match the current issue ETag. ETag
  • 503 MantisHub is temporarily unavailable and cannot process API requests.
cURL
curl -X PATCH \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/issues/123 \
  -d '{
    "id": 1,
    "project": {
        "name": "MantisHub"
    },
    "reporter": {
        "name": "John Doe",
        "email": "john@example.com"
    },
    "summary": "string",
    "description": "string",
    "steps_to_reproduce": "string",
    "additional_information": "string",
    "category": {
        "name": "Authn"
    },
    "priority": {
        "name": "string"
    },
    "handler": {
        "name": "string"
    },
    "status": {
        "name": "string"
    },
    "severity": {
        "id": 1,
        "name": "string"
    },
    "reproducibility": {
        "id": 1,
        "name": "string"
    },
    "resolution": {
        "id": 1,
        "name": "string"
    },
    "projection": {
        "id": 1,
        "name": "string"
    },
    "eta": {
        "id": 1,
        "name": "string"
    },
    "view_state": {
        "id": 1,
        "name": "string"
    },
    "version": {
        "id": 1,
        "name": "string"
    },
    "fixed_in_version": {
        "id": 1,
        "name": "string"
    },
    "target_version": {
        "id": 1,
        "name": "string"
    },
    "sticky": true,
    "due_date": "string",
    "date_submitted": "string",
    "date_updated": "string",
    "profile_id": 1,
    "os": "string",
    "os_build": "string",
    "build": "string",
    "platform": "string",
    "monitors": [
        {
            "name": "John Doe",
            "email": "john@example.com"
        }
    ],
    "custom_fields": [
        {
            "field": {
                "name": "string"
            },
            "value": "string"
        }
    ],
    "notes": [
        {
            "id": 1,
            "reporter": {
                "name": "string"
            },
            "text": "string",
            "view_state": {
                "id": 1,
                "name": "string",
                "label": "string"
            }
        }
    ]
}'
Request body · application/json
{
    "id": 1,
    "project": {
        "name": "MantisHub"
    },
    "reporter": {
        "name": "John Doe",
        "email": "john@example.com"
    },
    "summary": "string",
    "description": "string",
    "steps_to_reproduce": "string",
    "additional_information": "string",
    "category": {
        "name": "Authn"
    },
    "priority": {
        "name": "string"
    },
    "handler": {
        "name": "string"
    },
    "status": {
        "name": "string"
    },
    "severity": {
        "id": 1,
        "name": "string"
    },
    "reproducibility": {
        "id": 1,
        "name": "string"
    },
    "resolution": {
        "id": 1,
        "name": "string"
    },
    "projection": {
        "id": 1,
        "name": "string"
    },
    "eta": {
        "id": 1,
        "name": "string"
    },
    "view_state": {
        "id": 1,
        "name": "string"
    },
    "version": {
        "id": 1,
        "name": "string"
    },
    "fixed_in_version": {
        "id": 1,
        "name": "string"
    },
    "target_version": {
        "id": 1,
        "name": "string"
    },
    "sticky": true,
    "due_date": "string",
    "date_submitted": "string",
    "date_updated": "string",
    "profile_id": 1,
    "os": "string",
    "os_build": "string",
    "build": "string",
    "platform": "string",
    "monitors": [
        {
            "name": "John Doe",
            "email": "john@example.com"
        }
    ],
    "custom_fields": [
        {
            "field": {
                "name": "string"
            },
            "value": "string"
        }
    ],
    "notes": [
        {
            "id": 1,
            "reporter": {
                "name": "string"
            },
            "text": "string",
            "view_state": {
                "id": 1,
                "name": "string",
                "label": "string"
            }
        }
    ]
}
DELETE /issues/{id} #

Delete an issue

Deletes an issue. Supply the current ETag in If-Match to ensure that the issue was not changed after it was read.

Parameters

Name In Type Description
id required path integer The issue ID e.g. 123
X-Mantis-Username header string Username to impersonate for this request. Requires an authorized API token.
If-Match header string ETag returned by a prior issue read. The operation fails with 412 if it no longer matches.

Responses

  • 204 Operation completed successfully with no response body ETag X-Mantis-Username X-Mantis-LoginMethod X-Mantis-Version
  • 400 Bad Request
  • 401 Authentication is required or the supplied API token is invalid. WWW-Authenticate
  • 403 The authenticated user is not authorized for this operation, impersonation, or API access level.
  • 404 Entity not found
  • 412 The supplied If-Match value does not match the current issue ETag. ETag
  • 503 MantisHub is temporarily unavailable and cannot process API requests.
cURL
curl -X DELETE \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/issues/123

Issue Tags

POST /issues/{id}/tags #

Attach a tag to issue

Parameters

Name In Type Description
id required path integer The issue ID e.g. 123
X-Mantis-Username header string Username to impersonate for this request. Requires an authorized API token.

Request body required

tags object[]
id number

Responses

  • 201 Resource created successfully X-Mantis-Username X-Mantis-LoginMethod X-Mantis-Version
    "string"
  • 400 Bad Request
  • 401 Authentication is required or the supplied API token is invalid. WWW-Authenticate
  • 403 The authenticated user is not authorized for this operation, impersonation, or API access level.
  • 404 Entity not found
  • 503 MantisHub is temporarily unavailable and cannot process API requests.
cURL
curl -X POST \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/issues/123/tags \
  -d '{
    "tags": [
        {
            "id": 1
        }
    ]
}'
Request body · application/json
{
    "tags": [
        {
            "id": 1
        }
    ]
}
DELETE /issues/{id}/tags/{tag_id} #

Detach a tag from an issue

Parameters

Name In Type Description
id required path integer The issue ID e.g. 123
tag_id required path integer
X-Mantis-Username header string Username to impersonate for this request. Requires an authorized API token.

Responses

  • 200 Success ETag X-Mantis-Username X-Mantis-LoginMethod X-Mantis-Version
    "string"
  • 400 Bad Request
  • 401 Authentication is required or the supplied API token is invalid. WWW-Authenticate
  • 403 The authenticated user is not authorized for this operation, impersonation, or API access level.
  • 404 Entity not found
  • 503 MantisHub is temporarily unavailable and cannot process API requests.
cURL
curl -X DELETE \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/issues/123/tags/1

Localized Strings

GET /lang #

Get multiple localized strings

Parameters

Name In Type Description
X-Mantis-Username header string Username to impersonate for this request. Requires an authorized API token.
string required query string e.g. all_projects

Responses

  • 200 Success ETag X-Mantis-Username X-Mantis-LoginMethod X-Mantis-Version
    "string"
  • 400 Bad Request
  • 401 Authentication is required or the supplied API token is invalid. WWW-Authenticate
  • 403 The authenticated user is not authorized for this operation, impersonation, or API access level.
  • 404 Entity not found
  • 503 MantisHub is temporarily unavailable and cannot process API requests.
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/lang?string=all_projects

Projects

GET /projects #

Get all projects

Parameters

Name In Type Description
X-Mantis-Username header string Username to impersonate for this request. Requires an authorized API token.

Responses

  • 200 Success ETag X-Mantis-Username X-Mantis-LoginMethod X-Mantis-Version
    "string"
  • 400 Bad Request
  • 401 Authentication is required or the supplied API token is invalid. WWW-Authenticate
  • 403 The authenticated user is not authorized for this operation, impersonation, or API access level.
  • 404 Entity not found
  • 503 MantisHub is temporarily unavailable and cannot process API requests.
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/projects
POST /projects #

Create a project

Parameters

Name In Type Description
X-Mantis-Username header string Username to impersonate for this request. Requires an authorized API token.

Request body required

name string
status object
name string
description string
file_path string
view_state object
name string
enabled boolean

Responses

  • 201 Resource created successfully X-Mantis-Username X-Mantis-LoginMethod X-Mantis-Version
    "string"
  • 400 Bad Request
  • 401 Authentication is required or the supplied API token is invalid. WWW-Authenticate
  • 403 The authenticated user is not authorized for this operation, impersonation, or API access level.
  • 404 Entity not found
  • 503 MantisHub is temporarily unavailable and cannot process API requests.
cURL
curl -X POST \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/projects \
  -d '{
    "name": "string",
    "status": {
        "name": "string"
    },
    "description": "string",
    "file_path": "string",
    "view_state": {
        "name": "string"
    },
    "enabled": true
}'
Request body · application/json
{
    "name": "string",
    "status": {
        "name": "string"
    },
    "description": "string",
    "file_path": "string",
    "view_state": {
        "name": "string"
    },
    "enabled": true
}
GET /projects/{id} #

Get a project

Parameters

Name In Type Description
id required path integer The project ID e.g. 1
X-Mantis-Username header string Username to impersonate for this request. Requires an authorized API token.

Responses

  • 200 Success ETag X-Mantis-Username X-Mantis-LoginMethod X-Mantis-Version
    "string"
  • 400 Bad Request
  • 401 Authentication is required or the supplied API token is invalid. WWW-Authenticate
  • 403 The authenticated user is not authorized for this operation, impersonation, or API access level.
  • 404 Entity not found
  • 503 MantisHub is temporarily unavailable and cannot process API requests.
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/projects/1
PATCH /projects/{id} #

Update a project

Parameters

Name In Type Description
id required path integer The project ID e.g. 1
X-Mantis-Username header string Username to impersonate for this request. Requires an authorized API token.

Request body required

id integer
name string
description string
status object
id integer
name string
view_state object
id integer
name string
enabled boolean
inherit_global integer
file_path string

Responses

  • 200 Success ETag X-Mantis-Username X-Mantis-LoginMethod X-Mantis-Version
    "string"
  • 400 Bad Request
  • 401 Authentication is required or the supplied API token is invalid. WWW-Authenticate
  • 403 The authenticated user is not authorized for this operation, impersonation, or API access level.
  • 404 Entity not found
  • 503 MantisHub is temporarily unavailable and cannot process API requests.
cURL
curl -X PATCH \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/projects/1 \
  -d '{
    "id": 1,
    "name": "string",
    "description": "string",
    "status": {
        "id": 1,
        "name": "string"
    },
    "view_state": {
        "id": 1,
        "name": "string"
    },
    "enabled": true,
    "inherit_global": 1,
    "file_path": "string"
}'
Request body · application/json
{
    "id": 1,
    "name": "string",
    "description": "string",
    "status": {
        "id": 1,
        "name": "string"
    },
    "view_state": {
        "id": 1,
        "name": "string"
    },
    "enabled": true,
    "inherit_global": 1,
    "file_path": "string"
}
DELETE /projects/{id} #

Delete a project

Parameters

Name In Type Description
id required path integer The project ID e.g. 1
X-Mantis-Username header string Username to impersonate for this request. Requires an authorized API token.

Responses

  • 204 Operation completed successfully with no response body X-Mantis-Username X-Mantis-LoginMethod X-Mantis-Version
  • 400 Bad Request
  • 401 Authentication is required or the supplied API token is invalid. WWW-Authenticate
  • 403 The authenticated user is not authorized for this operation, impersonation, or API access level.
  • 404 Entity not found
  • 503 MantisHub is temporarily unavailable and cannot process API requests.
cURL
curl -X DELETE \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/projects/1
POST /projects/{id}/subprojects #

Add a sub-project

Parameters

Name In Type Description
id required path integer The project ID e.g. 1
X-Mantis-Username header string Username to impersonate for this request. Requires an authorized API token.

Request body required

project object
name string
inherit_parent boolean

Responses

  • 204 Operation completed successfully with no response body X-Mantis-Username X-Mantis-LoginMethod X-Mantis-Version
  • 400 Bad Request
  • 401 Authentication is required or the supplied API token is invalid. WWW-Authenticate
  • 403 The authenticated user is not authorized for this operation, impersonation, or API access level.
  • 404 Entity not found
  • 503 MantisHub is temporarily unavailable and cannot process API requests.
cURL
curl -X POST \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/projects/1/subprojects \
  -d '{
    "project": {
        "name": "string"
    },
    "inherit_parent": true
}'
Request body · application/json
{
    "project": {
        "name": "string"
    },
    "inherit_parent": true
}
PATCH /projects/{id}/subprojects/{subproject_id} #

Update a subproject

Parameters

Name In Type Description
id required path integer The project ID e.g. 1
subproject_id required path integer e.g. 2
X-Mantis-Username header string Username to impersonate for this request. Requires an authorized API token.

Request body required

project object
name string
inherit_parent boolean

Responses

  • 204 Operation completed successfully with no response body X-Mantis-Username X-Mantis-LoginMethod X-Mantis-Version
  • 400 Bad Request
  • 401 Authentication is required or the supplied API token is invalid. WWW-Authenticate
  • 403 The authenticated user is not authorized for this operation, impersonation, or API access level.
  • 404 Entity not found
  • 503 MantisHub is temporarily unavailable and cannot process API requests.
cURL
curl -X PATCH \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/projects/1/subprojects/2 \
  -d '{
    "project": {
        "name": "string"
    },
    "inherit_parent": true
}'
Request body · application/json
{
    "project": {
        "name": "string"
    },
    "inherit_parent": true
}
DELETE /projects/{id}/subprojects/{subproject_id} #

Delete a subproject relationship

Parameters

Name In Type Description
id required path integer The project ID e.g. 1
subproject_id required path integer e.g. 2
X-Mantis-Username header string Username to impersonate for this request. Requires an authorized API token.

Responses

  • 204 Operation completed successfully with no response body X-Mantis-Username X-Mantis-LoginMethod X-Mantis-Version
  • 400 Bad Request
  • 401 Authentication is required or the supplied API token is invalid. WWW-Authenticate
  • 403 The authenticated user is not authorized for this operation, impersonation, or API access level.
  • 404 Entity not found
  • 503 MantisHub is temporarily unavailable and cannot process API requests.
cURL
curl -X DELETE \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/projects/1/subprojects/2

Project Users

GET /projects/{id}/handlers #

Get Project Users that can be assigned issues

Parameters

Name In Type Description
id required path integer The project ID e.g. 1
X-Mantis-Username header string Username to impersonate for this request. Requires an authorized API token.

Responses

  • 200 Success ETag X-Mantis-Username X-Mantis-LoginMethod X-Mantis-Version
    "string"
  • 400 Bad Request
  • 401 Authentication is required or the supplied API token is invalid. WWW-Authenticate
  • 403 The authenticated user is not authorized for this operation, impersonation, or API access level.
  • 404 Entity not found
  • 503 MantisHub is temporarily unavailable and cannot process API requests.
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/projects/1/handlers
GET /projects/{id}/users #

Get Project Users

Parameters

Name In Type Description
id required path integer The project ID e.g. 1
X-Mantis-Username header string Username to impersonate for this request. Requires an authorized API token.
access_level query integer e.g. 25
include_access_levels query integer e.g. 0
page_size query integer
page query integer

Responses

  • 200 Success ETag X-Mantis-Username X-Mantis-LoginMethod X-Mantis-Version
    "string"
  • 400 Bad Request
  • 401 Authentication is required or the supplied API token is invalid. WWW-Authenticate
  • 403 The authenticated user is not authorized for this operation, impersonation, or API access level.
  • 404 Entity not found
  • 503 MantisHub is temporarily unavailable and cannot process API requests.
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/projects/1/users
POST /projects/{id}/users #

Add or update a project user

Parameters

Name In Type Description
id required path integer The project ID e.g. 1
X-Mantis-Username header string Username to impersonate for this request. Requires an authorized API token.

Request body required

user object
name string
access_level object
name string

Responses

  • 204 Operation completed successfully with no response body X-Mantis-Username X-Mantis-LoginMethod X-Mantis-Version
  • 400 Bad Request
  • 401 Authentication is required or the supplied API token is invalid. WWW-Authenticate
  • 403 The authenticated user is not authorized for this operation, impersonation, or API access level.
  • 404 Entity not found
  • 503 MantisHub is temporarily unavailable and cannot process API requests.
cURL
curl -X POST \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/projects/1/users \
  -d '{
    "user": {
        "name": "string"
    },
    "access_level": {
        "name": "string"
    }
}'
Request body · application/json
{
    "user": {
        "name": "string"
    },
    "access_level": {
        "name": "string"
    }
}
PUT /projects/{id}/users #

Project Add-Update User

Parameters

Name In Type Description
id required path integer The project ID e.g. 1
X-Mantis-Username header string Username to impersonate for this request. Requires an authorized API token.

Request body required

user object
name string
access_level object
name string

Responses

  • 204 Operation completed successfully with no response body X-Mantis-Username X-Mantis-LoginMethod X-Mantis-Version
  • 400 Bad Request
  • 401 Authentication is required or the supplied API token is invalid. WWW-Authenticate
  • 403 The authenticated user is not authorized for this operation, impersonation, or API access level.
  • 404 Entity not found
  • 503 MantisHub is temporarily unavailable and cannot process API requests.
cURL
curl -X PUT \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/projects/1/users \
  -d '{
    "user": {
        "name": "string"
    },
    "access_level": {
        "name": "string"
    }
}'
Request body · application/json
{
    "user": {
        "name": "string"
    },
    "access_level": {
        "name": "string"
    }
}
DELETE /projects/{id}/users/{user_id} #

Project Delete User

Parameters

Name In Type Description
id required path integer The project ID e.g. 1
user_id required path integer The user ID e.g. 5
X-Mantis-Username header string Username to impersonate for this request. Requires an authorized API token.

Responses

  • 204 Operation completed successfully with no response body X-Mantis-Username X-Mantis-LoginMethod X-Mantis-Version
  • 400 Bad Request
  • 401 Authentication is required or the supplied API token is invalid. WWW-Authenticate
  • 403 The authenticated user is not authorized for this operation, impersonation, or API access level.
  • 404 Entity not found
  • 503 MantisHub is temporarily unavailable and cannot process API requests.
cURL
curl -X DELETE \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/projects/1/users/5

Project Versions

GET /projects/{id}/versions/{version_id} #

Get a Project Version

Parameters

Name In Type Description
id required path integer The project ID e.g. 1
version_id required path integer e.g. 18
X-Mantis-Username header string Username to impersonate for this request. Requires an authorized API token.

Responses

  • 200 Success ETag X-Mantis-Username X-Mantis-LoginMethod X-Mantis-Version
    "string"
  • 400 Bad Request
  • 401 Authentication is required or the supplied API token is invalid. WWW-Authenticate
  • 403 The authenticated user is not authorized for this operation, impersonation, or API access level.
  • 404 Entity not found
  • 503 MantisHub is temporarily unavailable and cannot process API requests.
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/projects/1/versions/18
PATCH /projects/{id}/versions/{version_id} #

Update project version

Parameters

Name In Type Description
id required path integer The project ID e.g. 1
version_id required path integer e.g. 8
X-Mantis-Username header string Username to impersonate for this request. Requires an authorized API token.

Request body required

name string
description string
released boolean
obsolete boolean
timestamp string · date-time

Responses

  • 200 Success ETag X-Mantis-Username X-Mantis-LoginMethod X-Mantis-Version
    "string"
  • 400 Bad Request
  • 401 Authentication is required or the supplied API token is invalid. WWW-Authenticate
  • 403 The authenticated user is not authorized for this operation, impersonation, or API access level.
  • 404 Entity not found
  • 503 MantisHub is temporarily unavailable and cannot process API requests.
cURL
curl -X PATCH \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/projects/1/versions/8 \
  -d '{
    "name": "string",
    "description": "string",
    "released": true,
    "obsolete": true,
    "timestamp": "string"
}'
Request body · application/json
{
    "name": "string",
    "description": "string",
    "released": true,
    "obsolete": true,
    "timestamp": "string"
}
DELETE /projects/{id}/versions/{version_id} #

Delete a project version

Parameters

Name In Type Description
id required path integer The project ID e.g. 1
version_id required path integer
X-Mantis-Username header string Username to impersonate for this request. Requires an authorized API token.

Responses

  • 204 Operation completed successfully with no response body X-Mantis-Username X-Mantis-LoginMethod X-Mantis-Version
  • 400 Bad Request
  • 401 Authentication is required or the supplied API token is invalid. WWW-Authenticate
  • 403 The authenticated user is not authorized for this operation, impersonation, or API access level.
  • 404 Entity not found
  • 503 MantisHub is temporarily unavailable and cannot process API requests.
cURL
curl -X DELETE \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/projects/1/versions/1
GET /projects/{id}/versions #

Get Project Versions

Parameters

Name In Type Description
id required path integer The project ID e.g. 1
X-Mantis-Username header string Username to impersonate for this request. Requires an authorized API token.

Responses

  • 200 Success ETag X-Mantis-Username X-Mantis-LoginMethod X-Mantis-Version
    "string"
  • 400 Bad Request
  • 401 Authentication is required or the supplied API token is invalid. WWW-Authenticate
  • 403 The authenticated user is not authorized for this operation, impersonation, or API access level.
  • 404 Entity not found
  • 503 MantisHub is temporarily unavailable and cannot process API requests.
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/projects/1/versions
POST /projects/{id}/versions #

Create a project version

Parameters

Name In Type Description
id required path integer The project ID e.g. 1
X-Mantis-Username header string Username to impersonate for this request. Requires an authorized API token.

Request body required

name string
description string
released boolean
obsolete boolean
timestamp string

Responses

  • 201 Resource created successfully X-Mantis-Username X-Mantis-LoginMethod X-Mantis-Version
    "string"
  • 400 Bad Request
  • 401 Authentication is required or the supplied API token is invalid. WWW-Authenticate
  • 403 The authenticated user is not authorized for this operation, impersonation, or API access level.
  • 404 Entity not found
  • 503 MantisHub is temporarily unavailable and cannot process API requests.
cURL
curl -X POST \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/projects/1/versions \
  -d '{
    "name": "string",
    "description": "string",
    "released": true,
    "obsolete": true,
    "timestamp": "string"
}'
Request body · application/json
{
    "name": "string",
    "description": "string",
    "released": true,
    "obsolete": true,
    "timestamp": "string"
}

Users

GET /users/me #

Get My User Info

Parameters

Name In Type Description
X-Mantis-Username header string Username to impersonate for this request. Requires an authorized API token.
select query string Comma-separated list of user fields to return. e.g. id,name,real_name,email,access_level

Responses

  • 200 Success ETag X-Mantis-Username X-Mantis-LoginMethod X-Mantis-Version
    "string"
  • 400 Bad Request
  • 401 Authentication is required or the supplied API token is invalid. WWW-Authenticate
  • 403 The authenticated user is not authorized for this operation, impersonation, or API access level.
  • 404 Entity not found
  • 503 MantisHub is temporarily unavailable and cannot process API requests.
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/users/me
GET /users #

Get users

Returns users visible to the effective user.

Parameters

Name In Type Description
X-Mantis-Username header string Username to impersonate for this request. Requires an authorized API token.
select query string Comma-separated list of user fields to return. e.g. id,name,real_name,email,access_level

Responses

  • 200 Success ETag X-Mantis-Username X-Mantis-LoginMethod X-Mantis-Version
    "string"
  • 400 Bad Request
  • 401 Authentication is required or the supplied API token is invalid. WWW-Authenticate
  • 403 The authenticated user is not authorized for this operation, impersonation, or API access level.
  • 404 Entity not found
  • 503 MantisHub is temporarily unavailable and cannot process API requests.
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/users
POST /users #

Create a user

Parameters

Name In Type Description
X-Mantis-Username header string Username to impersonate for this request. Requires an authorized API token.

Request body required

password string

Responses

  • 201 Resource created successfully X-Mantis-Username X-Mantis-LoginMethod X-Mantis-Version
    "string"
  • 400 Bad Request
  • 401 Authentication is required or the supplied API token is invalid. WWW-Authenticate
  • 403 The authenticated user is not authorized for this operation, impersonation, or API access level.
  • 404 Entity not found
  • 503 MantisHub is temporarily unavailable and cannot process API requests.
cURL
curl -X POST \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/users \
  -d '{
    "password": "string"
}'
Request body · application/json
{
    "password": "string"
}
GET /users/{user_id} #

Get User By Id

Parameters

Name In Type Description
user_id required path integer The user ID e.g. 5
X-Mantis-Username header string Username to impersonate for this request. Requires an authorized API token.
select query string e.g. id,name,real_name,email,access_level

Responses

  • 200 Success ETag X-Mantis-Username X-Mantis-LoginMethod X-Mantis-Version
    "string"
  • 400 Bad Request
  • 401 Authentication is required or the supplied API token is invalid. WWW-Authenticate
  • 403 The authenticated user is not authorized for this operation, impersonation, or API access level.
  • 404 Entity not found
  • 503 MantisHub is temporarily unavailable and cannot process API requests.
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/users/5
PATCH /users/{user_id} #

Update User

Parameters

Name In Type Description
user_id required path integer The user ID e.g. 5
X-Mantis-Username header string Username to impersonate for this request. Requires an authorized API token.

Request body required

id integer
name string
real_name string
email string
access_level string
enabled boolean
protected boolean
language string
timezone string
created_at string · date-time

Responses

  • 200 Success ETag X-Mantis-Username X-Mantis-LoginMethod X-Mantis-Version
    "string"
  • 400 Bad Request
  • 401 Authentication is required or the supplied API token is invalid. WWW-Authenticate
  • 403 The authenticated user is not authorized for this operation, impersonation, or API access level.
  • 404 Entity not found
  • 503 MantisHub is temporarily unavailable and cannot process API requests.
cURL
curl -X PATCH \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/users/5 \
  -d '{
    "id": 1,
    "name": "string",
    "real_name": "string",
    "email": "string",
    "access_level": "string",
    "enabled": true,
    "protected": true,
    "language": "string",
    "timezone": "string",
    "created_at": "string"
}'
Request body · application/json
{
    "id": 1,
    "name": "string",
    "real_name": "string",
    "email": "string",
    "access_level": "string",
    "enabled": true,
    "protected": true,
    "language": "string",
    "timezone": "string",
    "created_at": "string"
}
DELETE /users/{user_id} #

Delete a user

Parameters

Name In Type Description
user_id required path integer The user ID e.g. 5
X-Mantis-Username header string Username to impersonate for this request. Requires an authorized API token.

Responses

  • 204 Operation completed successfully with no response body X-Mantis-Username X-Mantis-LoginMethod X-Mantis-Version
  • 400 Bad Request
  • 401 Authentication is required or the supplied API token is invalid. WWW-Authenticate
  • 403 The authenticated user is not authorized for this operation, impersonation, or API access level.
  • 404 Entity not found
  • 503 MantisHub is temporarily unavailable and cannot process API requests.
cURL
curl -X DELETE \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/users/5
GET /users/username/{username} #

Get User By Username

Parameters

Name In Type Description
username required path string
X-Mantis-Username header string Username to impersonate for this request. Requires an authorized API token.
select query string e.g. id,name,real_name,email

Responses

  • 200 Success ETag X-Mantis-Username X-Mantis-LoginMethod X-Mantis-Version
    "string"
  • 400 Bad Request
  • 401 Authentication is required or the supplied API token is invalid. WWW-Authenticate
  • 403 The authenticated user is not authorized for this operation, impersonation, or API access level.
  • 404 Entity not found
  • 503 MantisHub is temporarily unavailable and cannot process API requests.
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/users/username/value
PUT /users/{id}/reset #

Reset user password

Parameters

Name In Type Description
id required path integer The user ID.
X-Mantis-Username header string Username to impersonate for this request. Requires an authorized API token.

Responses

  • 204 Operation completed successfully with no response body X-Mantis-Username X-Mantis-LoginMethod X-Mantis-Version
  • 400 Bad Request
  • 401 Authentication is required or the supplied API token is invalid. WWW-Authenticate
  • 403 The authenticated user is not authorized for this operation, impersonation, or API access level.
  • 404 Entity not found
  • 503 MantisHub is temporarily unavailable and cannot process API requests.
cURL
curl -X PUT \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/users/1/reset

Views

GET /pages/issues/view/{id} #

Get Issue View Page

Parameters

Name In Type Description
id required path integer The issue ID e.g. 123
X-Mantis-Username header string Username to impersonate for this request. Requires an authorized API token.

Responses

  • 200 Success ETag X-Mantis-Username X-Mantis-LoginMethod X-Mantis-Version
    "string"
  • 400 Bad Request
  • 401 Authentication is required or the supplied API token is invalid. WWW-Authenticate
  • 403 The authenticated user is not authorized for this operation, impersonation, or API access level.
  • 404 Entity not found
  • 503 MantisHub is temporarily unavailable and cannot process API requests.
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/pages/issues/view/123

General

DELETE /plugins/ApiX/banners/{banner_id} #

Dismiss banner

This operation is implemented by the ApiX dismiss_banner command.

Parameters

Name In Type Description
banner_id required path integer ApiX banner_id path parameter.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X DELETE \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/banners/1
GET /plugins/ApiX/discover #

Discover

Returns the ApiX discovery document for the current instance. Use it to identify the available API surface and instance metadata before making feature-specific calls.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/discover
GET /plugins/ApiX/heartbeat #

Heartbeat

Checks that the ApiX REST endpoint is reachable and returns a successful ApiX response. It does not read or change MantisBT records.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/heartbeat
POST /plugins/ApiX/issues_list #

Project issues list

Lists issues visible to the authenticated user using the same filter and sort semantics as MantisBT issue lists. The request can select a project, apply issue-filter criteria, choose sort fields and order, and paginate the result. Set describe=1 to include the filter's MQL representation and compact=1 to request the compact response form.

Request body

project string Project reference; omit or use the all-projects reference to search across projects.
filter string JSON issue-filter criteria.
sort_by string Issue field used for sorting.
sort_order string Sort direction accepted by the issue-filter implementation.
page integer One-based result page; defaults to `1`.
page_size integer Maximum number of issues returned per page; the server applies its configured limits.
format string Export format; issue export defaults to `csv`.
columns string[] Ordered columns to include in an export.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X POST \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/issues_list \
  -d '{
    "project": "string",
    "filter": "string",
    "sort_by": "string",
    "sort_order": "string",
    "page": 1,
    "page_size": 1,
    "format": "string",
    "columns": []
}'
Request body · application/json
{
    "project": "string",
    "filter": "string",
    "sort_by": "string",
    "sort_order": "string",
    "page": 1,
    "page_size": 1,
    "format": "string",
    "columns": []
}
POST /plugins/ApiX/issues_list/export #

Issues export

Exports the visible issue list using the supplied project, filter, sort, and column selections. The format body field defaults to csv; the export response is generated from the same issue-list data used by the list operation.

Request body

project string Project reference; omit or use the all-projects reference to search across projects.
filter string JSON issue-filter criteria.
sort_by string Issue field used for sorting.
sort_order string Sort direction accepted by the issue-filter implementation.
page integer One-based result page; defaults to `1`.
page_size integer Maximum number of issues returned per page; the server applies its configured limits.
format string Export format; issue export defaults to `csv`.
columns string[] Ordered columns to include in an export.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X POST \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/issues_list/export \
  -d '{
    "project": "string",
    "filter": "string",
    "sort_by": "string",
    "sort_order": "string",
    "page": 1,
    "page_size": 1,
    "format": "string",
    "columns": []
}'
Request body · application/json
{
    "project": "string",
    "filter": "string",
    "sort_by": "string",
    "sort_order": "string",
    "page": 1,
    "page_size": 1,
    "format": "string",
    "columns": []
}
GET /plugins/ApiX/recurring_tasks/{recurring_task_id}/pages/edit #

Recurring tasks edit page

This operation is implemented by the ApiX recurring_tasks_edit_page command.

Parameters

Name In Type Description
recurring_task_id required path integer ApiX recurring_task_id path parameter.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/recurring_tasks/1/pages/edit
GET /plugins/ApiX/recurring_tasks/{recurring_task_id}/pages/view #

Recurring tasks view page

This operation is implemented by the ApiX recurring_tasks_view_page command.

Parameters

Name In Type Description
recurring_task_id required path integer ApiX recurring_task_id path parameter.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/recurring_tasks/1/pages/view

Issues

POST /plugins/ApiX/issues #

Issue create

Creates an issue through MantisBT's issue-add workflow. The body must identify the destination project and can include the standard issue fields, custom_fields, base64-encoded files, due_date, and clone_info. The command checks project access, custom-field permissions, attachment data, clone options, and due-date permissions before creating the issue.

Request body

id integer Existing issue ID. Used by update requests when supplied in the body.
project string Destination or current project reference, normally an object containing a numeric `id`.
summary string Short issue title.
description string Main issue description.
handler string User assigned to handle the issue.
reporter string User reported as the issue author.
status string Workflow status for the issue.
resolution string Resolution applied during an update or status change.
due_date string Due date accepted by MantisBT date parsing; setting it requires the configured due-date permission.
target_version string Version targeted by the issue.
fixed_in_version string Version in which the issue was fixed.
custom_fields string[] Custom-field values; ApiX maps the client representation to the MantisBT REST representation.
files string[] Base64-encoded file attachments converted to temporary upload files before issue creation.
clone_info object Clone options forwarded to the issue-add workflow.
note string Optional note data recorded with an issue update.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X POST \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/issues \
  -d '{
    "id": 1,
    "project": "string",
    "summary": "string",
    "description": "string",
    "handler": "string",
    "reporter": "string",
    "status": "string",
    "resolution": "string",
    "due_date": "string",
    "target_version": "string",
    "fixed_in_version": "string",
    "custom_fields": [],
    "files": [],
    "clone_info": [],
    "note": "string"
}'
Request body · application/json
{
    "id": 1,
    "project": "string",
    "summary": "string",
    "description": "string",
    "handler": "string",
    "reporter": "string",
    "status": "string",
    "resolution": "string",
    "due_date": "string",
    "target_version": "string",
    "fixed_in_version": "string",
    "custom_fields": [],
    "files": [],
    "clone_info": [],
    "note": "string"
}
POST /plugins/ApiX/issues/{issue_id}/assign #

Issue assign

Assigns an issue to the user identified by the body handler field. An optional note is added as part of the assignment and due_date may be supplied when the caller has permission to change due dates. select controls the fields returned in the updated issue view.

Parameters

Name In Type Description
issue_id required path integer ApiX issue_id path parameter.

Request body

handler string User assigned to the issue.
note string Optional note recorded with the action.
due_date string Due date to apply when the caller has permission.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X POST \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/issues/1/assign \
  -d '{
    "handler": "string",
    "note": "string",
    "due_date": "string"
}'
Request body · application/json
{
    "handler": "string",
    "note": "string",
    "due_date": "string"
}
DELETE /plugins/ApiX/issues/{issue_id}/files/{file_id} #

Delete attachment

This operation is implemented by the ApiX delete_attachment command.

Parameters

Name In Type Description
issue_id required path integer ApiX issue_id path parameter.
file_id required path integer ApiX file_id path parameter.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X DELETE \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/issues/1/files/1
POST /plugins/ApiX/issues/{issue_id}/monitor #

Issue monitor add

This operation is implemented by the ApiX issue_monitor_add command.

Parameters

Name In Type Description
issue_id required path integer ApiX issue_id path parameter.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X POST \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/issues/1/monitor
POST /plugins/ApiX/issues/{issue_id}/move #

Issue move

Moves an issue to the destination project in the body project reference. An optional note records the move with the issue. The destination project must exist and be writable by the caller.

Parameters

Name In Type Description
issue_id required path integer ApiX issue_id path parameter.

Request body

id integer Existing issue ID. Used by update requests when supplied in the body.
project string Destination or current project reference, normally an object containing a numeric `id`.
summary string Short issue title.
description string Main issue description.
handler string User assigned to handle the issue.
reporter string User reported as the issue author.
status string Workflow status for the issue.
resolution string Resolution applied during an update or status change.
due_date string Due date accepted by MantisBT date parsing; setting it requires the configured due-date permission.
target_version string Version targeted by the issue.
fixed_in_version string Version in which the issue was fixed.
custom_fields string[] Custom-field values; ApiX maps the client representation to the MantisBT REST representation.
files string[] Base64-encoded file attachments converted to temporary upload files before issue creation.
clone_info object Clone options forwarded to the issue-add workflow.
note string Optional note data recorded with an issue update.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X POST \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/issues/1/move \
  -d '{
    "id": 1,
    "project": "string",
    "summary": "string",
    "description": "string",
    "handler": "string",
    "reporter": "string",
    "status": "string",
    "resolution": "string",
    "due_date": "string",
    "target_version": "string",
    "fixed_in_version": "string",
    "custom_fields": [],
    "files": [],
    "clone_info": [],
    "note": "string"
}'
Request body · application/json
{
    "id": 1,
    "project": "string",
    "summary": "string",
    "description": "string",
    "handler": "string",
    "reporter": "string",
    "status": "string",
    "resolution": "string",
    "due_date": "string",
    "target_version": "string",
    "fixed_in_version": "string",
    "custom_fields": [],
    "files": [],
    "clone_info": [],
    "note": "string"
}
POST /plugins/ApiX/issues/{issue_id}/notes #

Issue note add

Adds a note to an issue. text is the note content; optional type, reporter, view_state, time_tracking, and base64-encoded files control note metadata and attachments. Mentions in the text are processed for notifications.

Parameters

Name In Type Description
issue_id required path integer ApiX issue_id path parameter.

Request body

text string Note content. Mentions in the text are processed for notifications.
type string Note type; defaults to `note`.
reporter string User to record as the note reporter, subject to permission checks.
view_state string Note visibility state.
private boolean Whether an updated note is private.
time_tracking string Time-tracking value associated with the note.
files string[] Base64-encoded attachments associated with the note.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X POST \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/issues/1/notes \
  -d '{
    "text": "string",
    "type": "string",
    "reporter": "string",
    "view_state": "string",
    "private": true,
    "time_tracking": "string",
    "files": []
}'
Request body · application/json
{
    "text": "string",
    "type": "string",
    "reporter": "string",
    "view_state": "string",
    "private": true,
    "time_tracking": "string",
    "files": []
}
PATCH /plugins/ApiX/issues/{issue_id}/notes/{note_id} #

Issue note update

Updates an existing issue note. The body may replace text, change private, and update time_tracking; the caller must be allowed to edit the selected note.

Parameters

Name In Type Description
issue_id required path integer ApiX issue_id path parameter.
note_id required path integer ApiX note_id path parameter.

Request body

text string Note content. Mentions in the text are processed for notifications.
type string Note type; defaults to `note`.
reporter string User to record as the note reporter, subject to permission checks.
view_state string Note visibility state.
private boolean Whether an updated note is private.
time_tracking string Time-tracking value associated with the note.
files string[] Base64-encoded attachments associated with the note.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X PATCH \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/issues/1/notes/1 \
  -d '{
    "text": "string",
    "type": "string",
    "reporter": "string",
    "view_state": "string",
    "private": true,
    "time_tracking": "string",
    "files": []
}'
Request body · application/json
{
    "text": "string",
    "type": "string",
    "reporter": "string",
    "view_state": "string",
    "private": true,
    "time_tracking": "string",
    "files": []
}
DELETE /plugins/ApiX/issues/{issue_id}/notes/{note_id} #

Issue note delete

Deletes the specified note from the issue after applying MantisBT note visibility and permission checks.

Parameters

Name In Type Description
issue_id required path integer ApiX issue_id path parameter.
note_id required path integer ApiX note_id path parameter.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X DELETE \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/issues/1/notes/1
GET /plugins/ApiX/issues/{issue_id}/pages/assign #

Issue assign page

This operation is implemented by the ApiX issue_assign_page command.

Parameters

Name In Type Description
issue_id required path integer ApiX issue_id path parameter.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/issues/1/pages/assign
GET /plugins/ApiX/issues/{issue_id}/pages/move #

Issue move page

This operation is implemented by the ApiX issue_move_page command.

Parameters

Name In Type Description
issue_id required path integer ApiX issue_id path parameter.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/issues/1/pages/move
GET /plugins/ApiX/issues/{issue_id}/pages/status/{status_id} #

Issue status page

This operation is implemented by the ApiX issue_status_page command.

Parameters

Name In Type Description
issue_id required path integer ApiX issue_id path parameter.
status_id required path integer ApiX status_id path parameter.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/issues/1/pages/status/1
GET /plugins/ApiX/issues/{issue_id}/pages/update #

Issue update page

This operation is implemented by the ApiX issue_update_page command.

Parameters

Name In Type Description
issue_id required path integer ApiX issue_id path parameter.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/issues/1/pages/update
GET /plugins/ApiX/issues/{issue_id}/pages/view #

Issue view page

This operation is implemented by the ApiX issue_view_page command. A read-only wiki relationship group (type.id: 1001) carries a page object whose issue_id is the issue an existing page belongs to (0 when none), or the issue to send as issue_id when creating a page that does not exist yet. A bare issue id is reserved for that issue's page, so such a reference is returned only when the issue is in the same project and readable.

Parameters

Name In Type Description
issue_id required path integer ApiX issue_id path parameter.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/issues/1/pages/view
POST /plugins/ApiX/issues/{issue_id}/relationships #

Issue relationship add

Creates a relationship between the path issue and another issue using the relationship payload accepted by MantisBT. The caller must be able to view both issues and add relationships to the source issue.

Parameters

Name In Type Description
issue_id required path integer ApiX issue_id path parameter.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X POST \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/issues/1/relationships \
  -d '[]'
Request body · application/json
[]
DELETE /plugins/ApiX/issues/{issue_id}/relationships/{relationship_id} #

Issue relationship delete

This operation is implemented by the ApiX issue_relationship_delete command.

Parameters

Name In Type Description
issue_id required path integer ApiX issue_id path parameter.
relationship_id required path integer ApiX relationship_id path parameter.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X DELETE \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/issues/1/relationships/1
POST /plugins/ApiX/issues/{issue_id}/status #

Issue change status

Changes an issue's status and applies the related workflow fields. The body can contain status, resolution, fixed_in_version, target_version, duplicate_id, handler, custom_fields, due_date, and an optional note; each field is checked against the configured workflow and permissions.

Parameters

Name In Type Description
issue_id required path integer ApiX issue_id path parameter.

Request body

id integer Existing issue ID. Used by update requests when supplied in the body.
project string Destination or current project reference, normally an object containing a numeric `id`.
summary string Short issue title.
description string Main issue description.
handler string User assigned to handle the issue.
reporter string User reported as the issue author.
status string Workflow status for the issue.
resolution string Resolution applied during an update or status change.
due_date string Due date accepted by MantisBT date parsing; setting it requires the configured due-date permission.
target_version string Version targeted by the issue.
fixed_in_version string Version in which the issue was fixed.
custom_fields string[] Custom-field values; ApiX maps the client representation to the MantisBT REST representation.
files string[] Base64-encoded file attachments converted to temporary upload files before issue creation.
clone_info object Clone options forwarded to the issue-add workflow.
note string Optional note data recorded with an issue update.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X POST \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/issues/1/status \
  -d '{
    "id": 1,
    "project": "string",
    "summary": "string",
    "description": "string",
    "handler": "string",
    "reporter": "string",
    "status": "string",
    "resolution": "string",
    "due_date": "string",
    "target_version": "string",
    "fixed_in_version": "string",
    "custom_fields": [],
    "files": [],
    "clone_info": [],
    "note": "string"
}'
Request body · application/json
{
    "id": 1,
    "project": "string",
    "summary": "string",
    "description": "string",
    "handler": "string",
    "reporter": "string",
    "status": "string",
    "resolution": "string",
    "due_date": "string",
    "target_version": "string",
    "fixed_in_version": "string",
    "custom_fields": [],
    "files": [],
    "clone_info": [],
    "note": "string"
}
GET /plugins/ApiX/issues/{issue_id}/tags/autocomplete #

Issue tag list

This operation is implemented by the ApiX issue_tag_list command.

Parameters

Name In Type Description
issue_id required path integer ApiX issue_id path parameter.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/issues/1/tags/autocomplete
POST /plugins/ApiX/issues/{issue_id}/unmonitor #

Issue monitor remove

This operation is implemented by the ApiX issue_monitor_remove command.

Parameters

Name In Type Description
issue_id required path integer ApiX issue_id path parameter.

Request body

users string[] Users to add or remove as monitors; omitted for unmonitor defaults to the authenticated user.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X POST \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/issues/1/unmonitor \
  -d '{
    "users": []
}'
Request body · application/json
{
    "users": []
}
PATCH /plugins/ApiX/issues/{issue_id}/update #

Issue update

Updates an existing issue through MantisBT's issue-update workflow. The path identifies the issue; the body may also contain the issue id, a replacement project, standard issue fields, custom fields, and an optional note.

Parameters

Name In Type Description
issue_id required path integer ApiX issue_id path parameter.

Request body

id integer Existing issue ID. Used by update requests when supplied in the body.
project string Destination or current project reference, normally an object containing a numeric `id`.
summary string Short issue title.
description string Main issue description.
handler string User assigned to handle the issue.
reporter string User reported as the issue author.
status string Workflow status for the issue.
resolution string Resolution applied during an update or status change.
due_date string Due date accepted by MantisBT date parsing; setting it requires the configured due-date permission.
target_version string Version targeted by the issue.
fixed_in_version string Version in which the issue was fixed.
custom_fields string[] Custom-field values; ApiX maps the client representation to the MantisBT REST representation.
files string[] Base64-encoded file attachments converted to temporary upload files before issue creation.
clone_info object Clone options forwarded to the issue-add workflow.
note string Optional note data recorded with an issue update.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X PATCH \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/issues/1/update \
  -d '{
    "id": 1,
    "project": "string",
    "summary": "string",
    "description": "string",
    "handler": "string",
    "reporter": "string",
    "status": "string",
    "resolution": "string",
    "due_date": "string",
    "target_version": "string",
    "fixed_in_version": "string",
    "custom_fields": [],
    "files": [],
    "clone_info": [],
    "note": "string"
}'
Request body · application/json
{
    "id": 1,
    "project": "string",
    "summary": "string",
    "description": "string",
    "handler": "string",
    "reporter": "string",
    "status": "string",
    "resolution": "string",
    "due_date": "string",
    "target_version": "string",
    "fixed_in_version": "string",
    "custom_fields": [],
    "files": [],
    "clone_info": [],
    "note": "string"
}
GET /plugins/ApiX/revisions/{revision_id}/diff #

Bug revision diff

This operation is implemented by the ApiX bug_revision_diff command.

Parameters

Name In Type Description
revision_id required path integer ApiX revision_id path parameter.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/revisions/1/diff

Manage

GET /plugins/ApiX/custom_fields #

Custom field list

Lists custom-field definitions visible to the authenticated user. sort_by and sort_order select the list ordering; field visibility and project linkage are resolved by ApiX.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/custom_fields
POST /plugins/ApiX/custom_fields/create #

Custom field create

Creates a custom-field definition. The custom_field body object contains the field definition; ApiX validates its name and type, then optionally links it to the projects listed by the payload.

Request body

custom_field object required Custom-field definition. ApiX sanitizes and validates the definition before persistence.
name string Field name; ApiX enforces the MantisBT name length limit.
type string MantisBT custom-field type.
possible_values string Allowed values for enumerated field types.
default_value string Default value for the field.
display_report boolean Show the field on issue creation.
display_update boolean Show the field on issue updates.
projects string[] Project IDs to link to the custom field; omitted on create means no additional links.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X POST \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/custom_fields/create \
  -d '{
    "custom_field": {
        "name": "string",
        "type": "string",
        "possible_values": "string",
        "default_value": "string",
        "display_report": true,
        "display_update": true
    },
    "projects": []
}'
Request body · application/json
{
    "custom_field": {
        "name": "string",
        "type": "string",
        "possible_values": "string",
        "default_value": "string",
        "display_report": true,
        "display_update": true
    },
    "projects": []
}
GET /plugins/ApiX/custom_fields/pages/create #

Custom field create page

This operation is implemented by the ApiX custom_field_create_page command.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/custom_fields/pages/create
PATCH /plugins/ApiX/custom_fields/{field_id} #

Custom field update

This operation is implemented by the ApiX custom_field_update command.

Parameters

Name In Type Description
field_id required path integer ApiX field_id path parameter.

Request body

custom_field object required Custom-field definition. ApiX sanitizes and validates the definition before persistence.
name string Field name; ApiX enforces the MantisBT name length limit.
type string MantisBT custom-field type.
possible_values string Allowed values for enumerated field types.
default_value string Default value for the field.
display_report boolean Show the field on issue creation.
display_update boolean Show the field on issue updates.
projects string[] Project IDs to link to the custom field; omitted on create means no additional links.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X PATCH \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/custom_fields/1 \
  -d '{
    "custom_field": {
        "name": "string",
        "type": "string",
        "possible_values": "string",
        "default_value": "string",
        "display_report": true,
        "display_update": true
    },
    "projects": []
}'
Request body · application/json
{
    "custom_field": {
        "name": "string",
        "type": "string",
        "possible_values": "string",
        "default_value": "string",
        "display_report": true,
        "display_update": true
    },
    "projects": []
}
DELETE /plugins/ApiX/custom_fields/{field_id} #

Custom field delete

This operation is implemented by the ApiX custom_field_delete command.

Parameters

Name In Type Description
field_id required path integer ApiX field_id path parameter.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X DELETE \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/custom_fields/1
GET /plugins/ApiX/custom_fields/{field_id}/pages/update #

Custom field update page

This operation is implemented by the ApiX custom_field_update_page command.

Parameters

Name In Type Description
field_id required path integer ApiX field_id path parameter.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/custom_fields/1/pages/update
DELETE /plugins/ApiX/helpdesk/recipient/{recipient_id} #

Helpdesk delete recipient

This operation is implemented by the ApiX helpdesk_delete_recipient command.

Parameters

Name In Type Description
recipient_id required path integer ApiX recipient_id path parameter.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X DELETE \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/helpdesk/recipient/1
POST /plugins/ApiX/manage-columns #

Manage columns

Reads or updates the authenticated user's issue-list columns for a project. The body identifies the project and may provide a type (default view) and an ordered columns list.

Request body

project string Project reference, normally an object containing `id`.
type string Column configuration type; defaults to `view`.
columns string[] Ordered column identifiers to save.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X POST \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/manage-columns \
  -d '{
    "project": "string",
    "type": "string",
    "columns": []
}'
Request body · application/json
{
    "project": "string",
    "type": "string",
    "columns": []
}
PATCH /plugins/ApiX/plugin/{plugin_name} #

Plugin update

This operation is implemented by the ApiX plugin_update command.

Parameters

Name In Type Description
plugin_name required path string ApiX plugin_name path parameter.

Request body

protected boolean Whether the installed plugin is protected.
priority integer Plugin load priority; ApiX validates the configured priority range.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X PATCH \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/plugin/value \
  -d '{
    "protected": true,
    "priority": 1
}'
Request body · application/json
{
    "protected": true,
    "priority": 1
}
POST /plugins/ApiX/plugin/{plugin_name}/install #

Plugin install

This operation is implemented by the ApiX plugin_install command.

Parameters

Name In Type Description
plugin_name required path string ApiX plugin_name path parameter.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X POST \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/plugin/value/install
POST /plugins/ApiX/plugin/{plugin_name}/uninstall #

Plugin uninstall

This operation is implemented by the ApiX plugin_uninstall command.

Parameters

Name In Type Description
plugin_name required path string ApiX plugin_name path parameter.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X POST \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/plugin/value/uninstall
GET /plugins/ApiX/plugins #

Plugins list

Lists installed plugins and their management metadata as reported by the current MantisBT plugin registry.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/plugins
PATCH /plugins/ApiX/settings #

Settings update

Updates ApiX/MantisHub configuration values using the settings payload. Configuration names and values are validated by the management command, and write access is required.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X PATCH \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/settings \
  -d '[]'
Request body · application/json
[]

Pages

GET /plugins/ApiX/pages/account #

Manage account

This operation is implemented by the ApiX manage_account command.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/pages/account
POST /plugins/ApiX/pages/dashboard #

Dashboard page

This operation is implemented by the ApiX dashboard_page command.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X POST \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/pages/dashboard \
  -d '[]'
Request body · application/json
[]
GET /plugins/ApiX/pages/manage #

Manage page

This operation is implemented by the ApiX manage_page command.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/pages/manage
POST /plugins/ApiX/pages/manage-columns #

Manage columns page

This operation is implemented by the ApiX manage_columns_page command.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X POST \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/pages/manage-columns \
  -d '[]'
Request body · application/json
[]
GET /plugins/ApiX/pages/plan #

Plan page

This operation is implemented by the ApiX plan_page command.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/pages/plan
GET /plugins/ApiX/pages/settings #

Settings page

This operation is implemented by the ApiX settings_page command.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/pages/settings
GET /plugins/ApiX/pages/{page_id}/move/{target_project_id} #

Route page move page

This operation is implemented by the ApiX route_page_move_page command.

Parameters

Name In Type Description
page_id required path integer ApiX page_id path parameter.
target_project_id required path integer ApiX target_project_id path parameter.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/pages/1/move/1
PATCH /plugins/ApiX/revs/{rev_id}/revert #

Revert to revision

This operation is implemented by the ApiX revert_to_revision command.

Parameters

Name In Type Description
rev_id required path integer ApiX rev_id path parameter.

Request body

id integer Page ID used by the Pages plugin.
content string Page content to store. For revision revert, ApiX supplies the selected revision's content.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X PATCH \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/revs/1/revert \
  -d '{
    "id": 1,
    "content": "string"
}'
Request body · application/json
{
    "id": 1,
    "content": "string"
}

Projects

POST /plugins/ApiX/categories #

Category create

This operation is implemented by the ApiX category_create command.

Request body

project_id integer required Project receiving the category.
name string required Category name.
assigned_to integer Default user assigned to issues in the category.
enabled boolean Whether the category is enabled.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X POST \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/categories \
  -d '{
    "project_id": 1,
    "name": "string",
    "assigned_to": 1,
    "enabled": true
}'
Request body · application/json
{
    "project_id": 1,
    "name": "string",
    "assigned_to": 1,
    "enabled": true
}
GET /plugins/ApiX/categories/pages/manage #

Category manage page

This operation is implemented by the ApiX category_manage_page command.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/categories/pages/manage
GET /plugins/ApiX/categories/{category_id} #

Category get

This operation is implemented by the ApiX category_get command.

Parameters

Name In Type Description
category_id required path integer ApiX category_id path parameter.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/categories/1
PATCH /plugins/ApiX/categories/{category_id} #

Category update

This operation is implemented by the ApiX category_update command.

Parameters

Name In Type Description
category_id required path integer ApiX category_id path parameter.

Request body

name string required Updated category name.
assigned_to integer Default user assigned to issues in the category.
enabled boolean Whether the category is enabled.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X PATCH \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/categories/1 \
  -d '{
    "name": "string",
    "assigned_to": 1,
    "enabled": true
}'
Request body · application/json
{
    "name": "string",
    "assigned_to": 1,
    "enabled": true
}
DELETE /plugins/ApiX/categories/{category_id} #

Category delete

This operation is implemented by the ApiX category_delete command.

Parameters

Name In Type Description
category_id required path integer ApiX category_id path parameter.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X DELETE \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/categories/1
POST /plugins/ApiX/projects #

Project create

Creates a project through MantisBT's project-add workflow. The body contains the project definition accepted by the core command, including its name, description, status, view state, and inheritance settings where supported.

Request body

id integer Existing project ID for update payloads.
name string Project name.
description string Project description.
status string Project status.
view_state string Project visibility state.
inherit_global boolean Whether project settings inherit global values where supported.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X POST \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/projects \
  -d '{
    "id": 1,
    "name": "string",
    "description": "string",
    "status": "string",
    "view_state": "string",
    "inherit_global": true
}'
Request body · application/json
{
    "id": 1,
    "name": "string",
    "description": "string",
    "status": "string",
    "view_state": "string",
    "inherit_global": true
}
GET /plugins/ApiX/projects/pages/create #

Project create page

This operation is implemented by the ApiX project_create_page command.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/projects/pages/create
GET /plugins/ApiX/projects/pages/manage #

Project manage page

This operation is implemented by the ApiX project_manage_page command.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/projects/pages/manage
PATCH /plugins/ApiX/projects/{project_id} #

Project update

Updates the specified project using the core project-update workflow. Only fields accepted by that workflow are applied, and project-management permissions are required.

Parameters

Name In Type Description
project_id required path integer ApiX project_id path parameter.

Request body

id integer Existing project ID for update payloads.
name string Project name.
description string Project description.
status string Project status.
view_state string Project visibility state.
inherit_global boolean Whether project settings inherit global values where supported.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X PATCH \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/projects/1 \
  -d '{
    "id": 1,
    "name": "string",
    "description": "string",
    "status": "string",
    "view_state": "string",
    "inherit_global": true
}'
Request body · application/json
{
    "id": 1,
    "name": "string",
    "description": "string",
    "status": "string",
    "view_state": "string",
    "inherit_global": true
}
DELETE /plugins/ApiX/projects/{project_id} #

Project delete

Deletes the specified project after MantisBT validates the caller's project-management permission and any dependent data constraints.

Parameters

Name In Type Description
project_id required path integer ApiX project_id path parameter.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X DELETE \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/projects/1
POST /plugins/ApiX/projects/{project_id}/copy-relations #

Project copy relations

Copies selected project relations from source_project_id into the destination project. project_relation selects the relation set (such as categories, custom fields, or versions); exclude_inherited controls inherited records when supported.

Parameters

Name In Type Description
project_id required path integer ApiX project_id path parameter.

Request body

source_project_id integer required Existing project from which relations are copied.
project_relation string required Relation set to copy. categories custom_fields versions users
exclude_inherited boolean For category copying, exclude inherited categories; defaults to `false`.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X POST \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/projects/1/copy-relations \
  -d '{
    "source_project_id": 1,
    "project_relation": "categories",
    "exclude_inherited": true
}'
Request body · application/json
{
    "source_project_id": 1,
    "project_relation": "categories",
    "exclude_inherited": true
}
POST /plugins/ApiX/projects/{project_id}/fields/group-link #

Project fields group link

This operation is implemented by the ApiX project_fields_group_link command.

Parameters

Name In Type Description
project_id required path integer ApiX project_id path parameter.

Request body

fields_list string[] required Field references; sequence updates use objects containing `id` and `sequence`.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X POST \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/projects/1/fields/group-link \
  -d '{
    "fields_list": []
}'
Request body · application/json
{
    "fields_list": []
}
POST /plugins/ApiX/projects/{project_id}/fields/group-unlink #

Project fields group unlink

This operation is implemented by the ApiX project_fields_group_unlink command.

Parameters

Name In Type Description
project_id required path integer ApiX project_id path parameter.

Request body

fields_list string[] required Field references; sequence updates use objects containing `id` and `sequence`.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X POST \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/projects/1/fields/group-unlink \
  -d '{
    "fields_list": []
}'
Request body · application/json
{
    "fields_list": []
}
PATCH /plugins/ApiX/projects/{project_id}/fields/sequence #

Project field update sequence

This operation is implemented by the ApiX project_field_update_sequence command.

Parameters

Name In Type Description
project_id required path integer ApiX project_id path parameter.

Request body

fields_list string[] required Field references; sequence updates use objects containing `id` and `sequence`.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X PATCH \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/projects/1/fields/sequence \
  -d '{
    "fields_list": []
}'
Request body · application/json
{
    "fields_list": []
}
PATCH /plugins/ApiX/projects/{project_id}/fields/{field_id} #

Project field update

This operation is implemented by the ApiX project_field_update command.

Parameters

Name In Type Description
project_id required path integer ApiX project_id path parameter.
field_id required path integer ApiX field_id path parameter.

Request body

sequence integer Display sequence for the path custom field.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X PATCH \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/projects/1/fields/1 \
  -d '{
    "sequence": 1
}'
Request body · application/json
{
    "sequence": 1
}
POST /plugins/ApiX/projects/{project_id}/fields/{field_id}/link #

Project field link

This operation is implemented by the ApiX project_field_link command.

Parameters

Name In Type Description
project_id required path integer ApiX project_id path parameter.
field_id required path integer ApiX field_id path parameter.

Request body

sequence integer Display sequence for the path custom field.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X POST \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/projects/1/fields/1/link \
  -d '{
    "sequence": 1
}'
Request body · application/json
{
    "sequence": 1
}
DELETE /plugins/ApiX/projects/{project_id}/fields/{field_id}/unlink #

Project field unlink

This operation is implemented by the ApiX project_field_unlink command.

Parameters

Name In Type Description
project_id required path integer ApiX project_id path parameter.
field_id required path integer ApiX field_id path parameter.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X DELETE \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/projects/1/fields/1/unlink
GET /plugins/ApiX/projects/{project_id}/filters #

Project filter get all

Lists saved filters available in the project. The optional limit query parameter defaults to 100. Results are restricted according to the caller's filter visibility and project access.

Parameters

Name In Type Description
project_id required path integer ApiX project_id path parameter.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/projects/1/filters
POST /plugins/ApiX/projects/{project_id}/filters #

Project filter create

Creates a saved project filter. type must be saved, name must be non-empty and unique, criteria must be an array of filter criteria, and shared controls whether the filter is shared when the caller has the required permission.

Parameters

Name In Type Description
project_id required path integer ApiX project_id path parameter.

Request body

type string required Filter kind. ApiX currently accepts only `saved`. saved
name string required Non-empty, project-unique filter name; MantisBT limits it to 64 characters.
shared boolean Share the filter with other permitted users; defaults to `false`.
criteria string[] required JSON filter criteria converted to MantisBT's stored filter format.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X POST \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/projects/1/filters \
  -d '{
    "type": "saved",
    "name": "string",
    "shared": true,
    "criteria": []
}'
Request body · application/json
{
    "type": "saved",
    "name": "string",
    "shared": true,
    "criteria": []
}
POST /plugins/ApiX/projects/{project_id}/filters/mql #

Filter to mql

Converts the JSON filter criteria in filter into MQL for the selected project. This is a translation operation and does not create or save a filter.

Parameters

Name In Type Description
project_id required path integer ApiX project_id path parameter.

Request body

filter string required JSON filter criteria converted to MQL for the selected project.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X POST \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/projects/1/filters/mql \
  -d '{
    "filter": "string"
}'
Request body · application/json
{
    "filter": "string"
}
GET /plugins/ApiX/projects/{project_id}/filters/{filter_id} #

Project filter get

Returns one project filter. The filter_id path value may be a numeric filter ID or a filter name, subject to the caller's project visibility and filter permissions.

Parameters

Name In Type Description
project_id required path integer ApiX project_id path parameter.
filter_id required path string ApiX filter_id path parameter.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/projects/1/filters/value
PUT /plugins/ApiX/projects/{project_id}/filters/{filter_id} #

Project filter update

Updates a saved project filter. The body can change its name, criteria, shared state, and type; the implementation accepts only the saved filter type and revalidates name uniqueness and sharing permissions.

Parameters

Name In Type Description
project_id required path integer ApiX project_id path parameter.
filter_id required path integer ApiX filter_id path parameter.

Request body

type string required Filter kind. ApiX currently accepts only `saved`. saved
name string required Non-empty, project-unique filter name; MantisBT limits it to 64 characters.
shared boolean Share the filter with other permitted users; defaults to `false`.
criteria string[] required JSON filter criteria converted to MantisBT's stored filter format.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X PUT \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/projects/1/filters/1 \
  -d '{
    "type": "saved",
    "name": "string",
    "shared": true,
    "criteria": []
}'
Request body · application/json
{
    "type": "saved",
    "name": "string",
    "shared": true,
    "criteria": []
}
POST /plugins/ApiX/projects/{project_id}/group-action/assign #

Group action assign

Assigns all issues in issues to the body handler and can add the supplied note to each issue. The project path selects the permission and issue context.

Parameters

Name In Type Description
project_id required path integer ApiX project_id path parameter.

Request body

issues string[] required Issue references to process.
fields object Workflow fields applied to each issue.
handler string User assigned to each issue.
note string Optional note added to each issue.
tags string[] Tags attached to each issue.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X POST \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/projects/1/group-action/assign \
  -d '{
    "issues": [],
    "fields": [],
    "handler": "string",
    "note": "string",
    "tags": []
}'
Request body · application/json
{
    "issues": [],
    "fields": [],
    "handler": "string",
    "note": "string",
    "tags": []
}
POST /plugins/ApiX/projects/{project_id}/group-action/attach-tags #

Group action attach tags

Attaches the tags in tags to each issue in the issues list. All issues are processed in the project context and normal issue/tag permissions apply.

Parameters

Name In Type Description
project_id required path integer ApiX project_id path parameter.

Request body

issues string[] required Issue references to process.
fields object Workflow fields applied to each issue.
handler string User assigned to each issue.
note string Optional note added to each issue.
tags string[] Tags attached to each issue.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X POST \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/projects/1/group-action/attach-tags \
  -d '{
    "issues": [],
    "fields": [],
    "handler": "string",
    "note": "string",
    "tags": []
}'
Request body · application/json
{
    "issues": [],
    "fields": [],
    "handler": "string",
    "note": "string",
    "tags": []
}
POST /plugins/ApiX/projects/{project_id}/group-action/close #

Group action close

Closes multiple issues in one project-scoped operation. issues identifies the issues to process and fields supplies the workflow fields applied while closing them.

Parameters

Name In Type Description
project_id required path integer ApiX project_id path parameter.

Request body

issues string[] required Issue references to process.
fields object Workflow fields applied to each issue.
handler string User assigned to each issue.
note string Optional note added to each issue.
tags string[] Tags attached to each issue.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X POST \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/projects/1/group-action/close \
  -d '{
    "issues": [],
    "fields": [],
    "handler": "string",
    "note": "string",
    "tags": []
}'
Request body · application/json
{
    "issues": [],
    "fields": [],
    "handler": "string",
    "note": "string",
    "tags": []
}
DELETE /plugins/ApiX/projects/{project_id}/group-action/delete #

Group action delete

This operation is implemented by the ApiX group_action_delete command.

Parameters

Name In Type Description
project_id required path integer ApiX project_id path parameter.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X DELETE \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/projects/1/group-action/delete
POST /plugins/ApiX/projects/{project_id}/group-action/edit #

Route group issues update

This operation is implemented by the ApiX route_group_issues_update command.

Parameters

Name In Type Description
project_id required path integer ApiX project_id path parameter.

Request body

issues string[] required Issue references to process.
fields object Workflow fields applied to each issue.
handler string User assigned to each issue.
note string Optional note added to each issue.
tags string[] Tags attached to each issue.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X POST \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/projects/1/group-action/edit \
  -d '{
    "issues": [],
    "fields": [],
    "handler": "string",
    "note": "string",
    "tags": []
}'
Request body · application/json
{
    "issues": [],
    "fields": [],
    "handler": "string",
    "note": "string",
    "tags": []
}
GET /plugins/ApiX/projects/{project_id}/pages/changelog #

Project changelog page

This operation is implemented by the ApiX project_changelog_page command.

Parameters

Name In Type Description
project_id required path integer ApiX project_id path parameter.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/projects/1/pages/changelog
GET /plugins/ApiX/projects/{project_id}/pages/create #

Issue create page

This operation is implemented by the ApiX issue_create_page command.

Parameters

Name In Type Description
project_id required path integer ApiX project_id path parameter.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/projects/1/pages/create
GET /plugins/ApiX/projects/{project_id}/pages/create/{clone_issue_id} #

Issue create page

This operation is implemented by the ApiX issue_create_page command.

Parameters

Name In Type Description
project_id required path integer ApiX project_id path parameter.
clone_issue_id required path integer ApiX clone_issue_id path parameter.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/projects/1/pages/create/1
GET /plugins/ApiX/projects/{project_id}/pages/edit #

Project edit page

This operation is implemented by the ApiX project_edit_page command.

Parameters

Name In Type Description
project_id required path integer ApiX project_id path parameter.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/projects/1/pages/edit
GET /plugins/ApiX/projects/{project_id}/pages/filters/create #

Issue filter create page

This operation is implemented by the ApiX issue_filter_create_page command.

Parameters

Name In Type Description
project_id required path integer ApiX project_id path parameter.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/projects/1/pages/filters/create
POST /plugins/ApiX/projects/{project_id}/pages/filters/edit #

Issue filter edit page

This operation is implemented by the ApiX issue_filter_edit_page command.

Parameters

Name In Type Description
project_id required path integer ApiX project_id path parameter.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X POST \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/projects/1/pages/filters/edit \
  -d '[]'
Request body · application/json
[]
GET /plugins/ApiX/projects/{project_id}/pages/group-action/assign #

Group action assign page

This operation is implemented by the ApiX group_action_assign_page command.

Parameters

Name In Type Description
project_id required path integer ApiX project_id path parameter.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/projects/1/pages/group-action/assign
GET /plugins/ApiX/projects/{project_id}/pages/group-action/attach-tags #

Group action attach tags page

This operation is implemented by the ApiX group_action_attach_tags_page command.

Parameters

Name In Type Description
project_id required path integer ApiX project_id path parameter.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/projects/1/pages/group-action/attach-tags
GET /plugins/ApiX/projects/{project_id}/pages/group-action/close #

Group action close page

This operation is implemented by the ApiX group_action_close_page command.

Parameters

Name In Type Description
project_id required path integer ApiX project_id path parameter.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/projects/1/pages/group-action/close
GET /plugins/ApiX/projects/{project_id}/pages/group-action/edit #

Route group action edit page

This operation is implemented by the ApiX route_group_action_edit_page command.

Parameters

Name In Type Description
project_id required path integer ApiX project_id path parameter.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/projects/1/pages/group-action/edit
GET /plugins/ApiX/projects/{project_id}/pages/name/{page_name} #

Page view page

Returns the current readable wiki page for a project by name. The optional revision selector can request a specific revision; page and note visibility are enforced for the authenticated user.

Parameters

Name In Type Description
project_id required path integer ApiX project_id path parameter.
page_name required path string Wiki page name within the project.
revision_id query integer Optional revision ID; omit to return the current page revision.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/projects/1/pages/name/value
GET /plugins/ApiX/projects/{project_id}/pages/name/{page_name}/revs #

Page revs page

This operation is implemented by the ApiX page_revs_page command.

Parameters

Name In Type Description
project_id required path integer ApiX project_id path parameter.
page_name required path string ApiX page_name path parameter.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/projects/1/pages/name/value/revs
GET /plugins/ApiX/projects/{project_id}/pages/name/{page_name}/revs/{rev_id} #

Page revision page

This operation is implemented by the ApiX page_revision_page command.

Parameters

Name In Type Description
project_id required path integer ApiX project_id path parameter.
page_name required path string ApiX page_name path parameter.
rev_id required path integer ApiX rev_id path parameter.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/projects/1/pages/name/value/revs/1
GET /plugins/ApiX/projects/{project_id}/pages/name/{page_name}/revs/{rev_id}/diff #

Page diff get

This operation is implemented by the ApiX page_diff_get command.

Parameters

Name In Type Description
project_id required path integer ApiX project_id path parameter.
page_name required path string ApiX page_name path parameter.
rev_id required path integer ApiX rev_id path parameter.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/projects/1/pages/name/value/revs/1/diff
GET /plugins/ApiX/projects/{project_id}/pages/pages/browse #

Page browse page

This operation is implemented by the ApiX page_browse_page command.

Parameters

Name In Type Description
project_id required path integer ApiX project_id path parameter.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/projects/1/pages/pages/browse
GET /plugins/ApiX/projects/{project_id}/pages/pages/create #

Page create page

Creates a project wiki page through the Pages plugin. The optional issue_id query parameter associates the new page with an existing readable issue in the same project; that association is made at creation time.

Parameters

Name In Type Description
project_id required path integer ApiX project_id path parameter.
issue_id query integer Issue whose wiki page is being created. Must exist in this project and be readable by the caller.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/projects/1/pages/pages/create
GET /plugins/ApiX/projects/{project_id}/pages/report #

Issue create page

This operation is implemented by the ApiX issue_create_page command.

Parameters

Name In Type Description
project_id required path integer ApiX project_id path parameter.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/projects/1/pages/report
GET /plugins/ApiX/projects/{project_id}/pages/roadmap #

Project roadmap page

This operation is implemented by the ApiX project_roadmap_page command.

Parameters

Name In Type Description
project_id required path integer ApiX project_id path parameter.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/projects/1/pages/roadmap
GET /plugins/ApiX/projects/{project_id}/pages/time-tracking #

Time tracking page

This operation is implemented by the ApiX time_tracking_page command.

Parameters

Name In Type Description
project_id required path integer ApiX project_id path parameter.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/projects/1/pages/time-tracking
GET /plugins/ApiX/projects/{project_id}/pages/update/{page_name} #

Page update page

Updates the named project wiki page through the Pages plugin, including its content and page-note data supplied by the request. The page must be writable by the authenticated user.

Parameters

Name In Type Description
project_id required path integer ApiX project_id path parameter.
page_name required path string ApiX page_name path parameter.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/projects/1/pages/update/value
GET /plugins/ApiX/projects/{project_id}/recurring_tasks #

Recurring tasks get

This operation is implemented by the ApiX recurring_tasks_get command.

Parameters

Name In Type Description
project_id required path integer ApiX project_id path parameter.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/projects/1/recurring_tasks
GET /plugins/ApiX/projects/{project_id}/recurring_tasks/pages/create #

Recurring tasks create page

This operation is implemented by the ApiX recurring_tasks_create_page command.

Parameters

Name In Type Description
project_id required path integer ApiX project_id path parameter.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/projects/1/recurring_tasks/pages/create
POST /plugins/ApiX/projects/{project_id}/time-tracking #

Time tracking report

Builds a project time-tracking report for the requested date range. start_date and end_date define the period, and cost_per_hour overrides the configured billing rate. This endpoint reports only the selected project; include_subprojects is supported by the export endpoint, not this report endpoint.

Parameters

Name In Type Description
project_id required path integer ApiX project_id path parameter.

Request body

start_date string Start of the reporting period.
end_date string End of the reporting period.
cost_per_hour number Billing rate override; otherwise the configured rate is used.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X POST \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/projects/1/time-tracking \
  -d '{
    "start_date": "string",
    "end_date": "string",
    "cost_per_hour": 1
}'
Request body · application/json
{
    "start_date": "string",
    "end_date": "string",
    "cost_per_hour": 1
}
GET /plugins/ApiX/projects/{project_id}/time-tracking/export/{export_type} #

Time tracking export report

Exports project time-tracking/billing data in the path-selected export_type. Query values include from, to, cost, and include_subprojects; the project and date values are validated before export.

Parameters

Name In Type Description
project_id required path integer ApiX project_id path parameter.
export_type required path string ApiX export_type path parameter.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/projects/1/time-tracking/export/value
POST /plugins/ApiX/projects/{project_id}/users #

Project bulk add users

This operation is implemented by the ApiX project_bulk_add_users command.

Parameters

Name In Type Description
project_id required path integer ApiX project_id path parameter.

Request body

user_ids string[] required User IDs to add to the project identified by the path.
access_level string required Access level assigned to each user.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X POST \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/projects/1/users \
  -d '{
    "user_ids": [],
    "access_level": "string"
}'
Request body · application/json
{
    "user_ids": [],
    "access_level": "string"
}

Search

POST /plugins/ApiX/lookup #

Lookup

Resolves batches of issue, note, and mention references and returns the related user/avatar information used by clients. Send the reference collections in the JSON body; avatar_size controls the requested avatar dimensions.

Request body

issues string[] Issue references to resolve.
notes string[] Note references to resolve.
mentions string[] Mention references to resolve.
avatar_size integer Requested avatar size in pixels.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X POST \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/lookup \
  -d '{
    "issues": [],
    "notes": [],
    "mentions": [],
    "avatar_size": 1
}'
Request body · application/json
{
    "issues": [],
    "notes": [],
    "mentions": [],
    "avatar_size": 1
}
POST /plugins/ApiX/search #

Search

Searches MantisBT entities for the authenticated user. text is the search term; types limits the entity types returned, project scopes the search, issue_id provides issue context, and limit caps the result count. Set auto_complete or include_current_user when the client needs those specialized results.

Request body

text string Search text or autocomplete prefix.
auto_complete boolean Enables autocomplete behavior; defaults to `false`.
limit integer Maximum number of matches; defaults to `10`.
include_current_user boolean Include the authenticated user in user matches; defaults to `false`.
project string Optional project reference used to scope the search.
issue_id integer Optional issue context for searches that resolve related values.
types string[] Entity types to search; omitted types use the command's default set.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X POST \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/search \
  -d '{
    "text": "string",
    "auto_complete": true,
    "limit": 1,
    "include_current_user": true,
    "project": "string",
    "issue_id": 1,
    "types": []
}'
Request body · application/json
{
    "text": "string",
    "auto_complete": true,
    "limit": 1,
    "include_current_user": true,
    "project": "string",
    "issue_id": 1,
    "types": []
}

Snippets

GET /plugins/ApiX/snippets/search #

Route snippets search

Searches snippets visible to the authenticated user. text supplies the search term, limit caps the result count, and project_id scopes the search (all projects by default).

Parameters

Name In Type Description
text query string Text used to search snippet names and content.
limit query integer Maximum number of snippets to return; defaults to 10.
project_id query integer Project to search; omitted to search across all projects visible to the caller.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/snippets/search
GET /plugins/ApiX/snippets_list #

Snippets list

Lists snippets available to the authenticated user. Set the global query parameter to include global snippets in addition to project-scoped snippets.

Parameters

Name In Type Description
global query integer Set to `1` to include global snippets.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/snippets_list

Tags

GET /plugins/ApiX/tags #

Tag get all

This operation is implemented by the ApiX tag_get_all command.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/tags
POST /plugins/ApiX/tags #

Tag create

Creates a tag. name is required; description is optional and is trimmed before the tag is stored.

Request body

name string required Tag name.
description string Optional tag description.
user_id integer User reference accepted by tag update.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X POST \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/tags \
  -d '{
    "name": "string",
    "description": "string",
    "user_id": 1
}'
Request body · application/json
{
    "name": "string",
    "description": "string",
    "user_id": 1
}
PATCH /plugins/ApiX/tags/{tag_id} #

Tag update

This operation is implemented by the ApiX tag_update command.

Parameters

Name In Type Description
tag_id required path integer ApiX tag_id path parameter.

Request body

name string required Tag name.
description string Optional tag description.
user_id integer User reference accepted by tag update.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X PATCH \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/tags/1 \
  -d '{
    "name": "string",
    "description": "string",
    "user_id": 1
}'
Request body · application/json
{
    "name": "string",
    "description": "string",
    "user_id": 1
}
DELETE /plugins/ApiX/tags/{tag_id} #

Tag delete

This operation is implemented by the ApiX tag_delete command.

Parameters

Name In Type Description
tag_id required path integer ApiX tag_id path parameter.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X DELETE \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/tags/1
GET /plugins/ApiX/tags/{tag_id}/pages/browse #

Tag browse page

This operation is implemented by the ApiX tag_browse_page command.

Parameters

Name In Type Description
tag_id required path integer ApiX tag_id path parameter.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/tags/1/pages/browse
GET /plugins/ApiX/tags/{tag_id}/pages/edit #

Tag edit page

This operation is implemented by the ApiX tag_edit_page command.

Parameters

Name In Type Description
tag_id required path integer ApiX tag_id path parameter.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/tags/1/pages/edit

Users

GET /plugins/ApiX/me/account #

Me account page

This operation is implemented by the ApiX me_account_page command.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/me/account
PATCH /plugins/ApiX/me/password #

Me password update

Changes the authenticated user's password. Send both password_current and password; the command validates the current credential before applying the new one.

Request body

password_current string · password required Current password of the authenticated user.
password string · password required New password; it must satisfy the instance password rules.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X PATCH \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/me/password \
  -d '{
    "password_current": "string",
    "password": "string"
}'
Request body · application/json
{
    "password_current": "string",
    "password": "string"
}
GET /plugins/ApiX/me/tokens #

Me tokens page

This operation is implemented by the ApiX me_tokens_page command.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/me/tokens
GET /plugins/ApiX/user-settings #

User settings page

This operation is implemented by the ApiX user_settings_page command.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/user-settings
PATCH /plugins/ApiX/user-settings #

User settings update

Updates the authenticated user's self-service settings. The body is a map of supported setting names to values; unsupported or malformed settings are rejected.

Request body

configs object[] required Non-empty list of permitted self-service settings.
option string required Allowed setting name. The server determines the permitted option set.
value string required New value for the selected setting.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X PATCH \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/user-settings \
  -d '{
    "configs": [
        {
            "option": "string",
            "value": "string"
        }
    ]
}'
Request body · application/json
{
    "configs": [
        {
            "option": "string",
            "value": "string"
        }
    ]
}
POST /plugins/ApiX/users #

User create

Creates a user through MantisBT's user-create workflow. The body supplies the account definition accepted by core, including username, email, access level, enabled state, and optional preferences.

Request body

username string Unique account username.
email string · email User email address.
realname string Display name.
password string · password Account password when creating or changing a user.
access_level integer Global access level.
enabled boolean Whether the account is enabled.
protected boolean Whether the account is protected from ordinary administration.
language string Preferred language.
timezone string Preferred timezone.
client_preferred boolean Whether the user prefers the client-specific interface.
avatar string Avatar data accepted by the configured avatar integration.
notify_user boolean Whether to notify the user about the update.
password_current string · password Current password required for applicable password changes.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X POST \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/users \
  -d '{
    "username": "string",
    "email": "string",
    "realname": "string",
    "password": "string",
    "access_level": 1,
    "enabled": true,
    "protected": true,
    "language": "string",
    "timezone": "string",
    "client_preferred": true,
    "avatar": "string",
    "notify_user": true,
    "password_current": "string"
}'
Request body · application/json
{
    "username": "string",
    "email": "string",
    "realname": "string",
    "password": "string",
    "access_level": 1,
    "enabled": true,
    "protected": true,
    "language": "string",
    "timezone": "string",
    "client_preferred": true,
    "avatar": "string",
    "notify_user": true,
    "password_current": "string"
}
GET /plugins/ApiX/users/pages/create #

User create page

This operation is implemented by the ApiX user_create_page command.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/users/pages/create
GET /plugins/ApiX/users/search #

User search

This operation is implemented by the ApiX user_search command.

Parameters

Name In Type Description
query query string Text used to match users.
page query integer One-based result page.
page_size query integer Maximum users returned per page.
sort_by query string User field used for ordering.
sort_order query string Sort direction.
disabled query integer Disabled-user filter used by the implementation.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/users/search
GET /plugins/ApiX/users/{user_id} #

User get

Returns a user by numeric ID or username. Use select to limit the returned user fields; access to disabled users and sensitive fields follows MantisBT permissions.

Parameters

Name In Type Description
user_id required path string ApiX user_id path parameter.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/users/value
PATCH /plugins/ApiX/users/{user_id} #

User update

Updates a user through MantisBT's user-update workflow. The body supports account fields such as language, timezone, client_preferred, avatar, and notification settings; password changes require the current password where applicable.

Parameters

Name In Type Description
user_id required path string ApiX user_id path parameter.

Request body

username string Unique account username.
email string · email User email address.
realname string Display name.
password string · password Account password when creating or changing a user.
access_level integer Global access level.
enabled boolean Whether the account is enabled.
protected boolean Whether the account is protected from ordinary administration.
language string Preferred language.
timezone string Preferred timezone.
client_preferred boolean Whether the user prefers the client-specific interface.
avatar string Avatar data accepted by the configured avatar integration.
notify_user boolean Whether to notify the user about the update.
password_current string · password Current password required for applicable password changes.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X PATCH \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/users/value \
  -d '{
    "username": "string",
    "email": "string",
    "realname": "string",
    "password": "string",
    "access_level": 1,
    "enabled": true,
    "protected": true,
    "language": "string",
    "timezone": "string",
    "client_preferred": true,
    "avatar": "string",
    "notify_user": true,
    "password_current": "string"
}'
Request body · application/json
{
    "username": "string",
    "email": "string",
    "realname": "string",
    "password": "string",
    "access_level": 1,
    "enabled": true,
    "protected": true,
    "language": "string",
    "timezone": "string",
    "client_preferred": true,
    "avatar": "string",
    "notify_user": true,
    "password_current": "string"
}
PUT /plugins/ApiX/users/{user_id}/impersonate #

User impersonate

Starts an impersonated session for the target user. This administrative operation is permission-gated and changes the authenticated user context; use it only when the caller is authorized to impersonate that account.

Parameters

Name In Type Description
user_id required path string ApiX user_id path parameter.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X PUT \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/users/value/impersonate
GET /plugins/ApiX/users/{user_id}/pages/edit #

User edit page

This operation is implemented by the ApiX user_edit_page command.

Parameters

Name In Type Description
user_id required path string ApiX user_id path parameter.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/users/value/pages/edit
POST /plugins/ApiX/users/{user_id}/projects #

Project add users

This operation is implemented by the ApiX project_add_users command.

Parameters

Name In Type Description
user_id required path string ApiX user_id path parameter.

Request body

project_ids string[] required Project IDs to which the user is added.
access_level string required Access level assigned to the user in each project.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X POST \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/users/value/projects \
  -d '{
    "project_ids": [],
    "access_level": "string"
}'
Request body · application/json
{
    "project_ids": [],
    "access_level": "string"
}
PUT /plugins/ApiX/users/{user_id}/reset #

User reset

Resets the target user's account state using the core reset workflow. This administrative operation does not accept a replacement password in the path.

Parameters

Name In Type Description
user_id required path string ApiX user_id path parameter.

Responses

  • 200 The operation completed successfully.
    []
  • 400 The request is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The requested resource was not found.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X PUT \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/ApiX/users/value/reset

Dashboard pages

GET /plugins/Dantis/dashboards/{id}/pages/view #

Get a dashboard by ID for viewing

Returns the dashboard with widget data resolved for the view page and page permissions.

Parameters

Name In Type Description
id required path string 32-character dashboard identifier returned by the create endpoint.

Responses

  • 200 Dashboard and viewer permissions.
    dashboard object required
    id string required Persisted dashboard ID; generated default dashboards may use an empty or synthetic ID.
    name string required
    title string required
    project object required
    id integer required
    name string required
    owner object required
    id integer required
    name string
    real_name string
    email string
    avatar string · uri
    definition object[] required
    layout string required Section layout; widgets must support it. 1-col 2-col 4-col
    widgets string[] required
    enabled boolean required
    favorite boolean required Whether the current user favorited it; generated `home` dashboards are true.
    created_at string · date-time required
    updated_at string · date-time required
    permissions object required
    edit_dashboard boolean required
    delete_dashboard boolean required
    create_dashboard boolean required
    {
        "dashboard": {
            "id": "string",
            "name": "string",
            "title": "string",
            "project": {
                "id": 1,
                "name": "string"
            },
            "owner": {
                "id": 1,
                "name": "string",
                "real_name": "string",
                "email": "string",
                "avatar": "string"
            },
            "definition": [
                {
                    "layout": "1-col",
                    "widgets": [
                        "string"
                    ]
                }
            ],
            "enabled": true,
            "favorite": true,
            "created_at": "string",
            "updated_at": "string"
        },
        "permissions": {
            "edit_dashboard": true,
            "delete_dashboard": true,
            "create_dashboard": true
        }
    }
  • 400 Invalid project, dashboard ID/name, widget, filter, or dashboard definition.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or the API token is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks the required project or dashboard permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The dashboard or project does not exist.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/Dantis/dashboards/value/pages/view
GET /plugins/Dantis/projects/{project_id}/pages/dashboard/create #

Get dashboard-create page data

Returns create permissions and project-specific layouts, widgets, filters, versions, and time-window options.

Parameters

Name In Type Description
project_id required path integer · int32 Numeric MantisBT project ID.

Responses

  • 200 Configuration used by the dashboard create page.
    dashboard object
    id string required Persisted dashboard ID; generated default dashboards may use an empty or synthetic ID.
    name string required
    title string required
    project object required
    id integer required
    name string required
    owner object required
    id integer required
    name string
    real_name string
    email string
    avatar string · uri
    definition object[] required
    layout string required Section layout; widgets must support it. 1-col 2-col 4-col
    widgets string[] required
    enabled boolean required
    favorite boolean required Whether the current user favorited it; generated `home` dashboards are true.
    created_at string · date-time required
    updated_at string · date-time required
    permissions object required
    edit_dashboard boolean required
    delete_dashboard boolean required
    create_dashboard boolean required
    configs object required
    layouts object[] required
    name string required
    label string required
    default_layout string required 1-col 2-col 4-col
    widgets object[] required
    name string required
    label string required
    description string required
    allowed_layouts string[] required
    filters object[] required
    type string required standard saved
    id string required
    name string required
    label string required
    shared boolean
    roadmap_view_enabled boolean required
    changelog_view_enabled boolean required
    roadmap_versions object[] required
    id string required
    name string required
    label string required
    changelog_versions object[] required
    id string required
    name string required
    label string required
    time_window_options object[] required
    name string required
    label string required
    default_time_window string required all_time last_week last_month last_quarter last_six_months last_year
    {
        "dashboard": {
            "id": "string",
            "name": "string",
            "title": "string",
            "project": {
                "id": 1,
                "name": "string"
            },
            "owner": {
                "id": 1,
                "name": "string",
                "real_name": "string",
                "email": "string",
                "avatar": "string"
            },
            "definition": [
                {
                    "layout": "1-col",
                    "widgets": [
                        "string"
                    ]
                }
            ],
            "enabled": true,
            "favorite": true,
            "created_at": "string",
            "updated_at": "string"
        },
        "permissions": {
            "edit_dashboard": true,
            "delete_dashboard": true,
            "create_dashboard": true
        },
        "configs": {
            "layouts": [
                {
                    "name": "string",
                    "label": "string"
                }
            ],
            "default_layout": "1-col",
            "widgets": [
                {
                    "name": "string",
                    "label": "string",
                    "description": "string",
                    "allowed_layouts": [
                        "1-col"
                    ]
                }
            ],
            "filters": [
                {
                    "type": "standard",
                    "id": "string",
                    "name": "string",
                    "label": "string",
                    "shared": true
                }
            ],
            "roadmap_view_enabled": true,
            "changelog_view_enabled": true,
            "roadmap_versions": [
                {
                    "id": "string",
                    "name": "string",
                    "label": "string"
                }
            ],
            "changelog_versions": [
                {
                    "id": "string",
                    "name": "string",
                    "label": "string"
                }
            ],
            "time_window_options": [
                {
                    "name": "string",
                    "label": "string"
                }
            ],
            "default_time_window": "all_time"
        }
    }
  • 400 Invalid project, dashboard ID/name, widget, filter, or dashboard definition.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or the API token is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks the required project or dashboard permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/Dantis/projects/1/pages/dashboard/create
GET /plugins/Dantis/projects/{project_id}/pages/dashboards/{name}/edit #

Get dashboard-edit page data

Returns the named dashboard in edit form plus permissions and the same project-specific editor configuration as the create endpoint. Missing home is represented by the generated default dashboard.

Parameters

Name In Type Description
project_id required path integer · int32 Numeric MantisBT project ID.
name required path string Dashboard name within the project. The reserved default name is `home`.

Responses

  • 200 Configuration and dashboard used by the edit page.
    dashboard object
    id string required Persisted dashboard ID; generated default dashboards may use an empty or synthetic ID.
    name string required
    title string required
    project object required
    id integer required
    name string required
    owner object required
    id integer required
    name string
    real_name string
    email string
    avatar string · uri
    definition object[] required
    layout string required Section layout; widgets must support it. 1-col 2-col 4-col
    widgets string[] required
    enabled boolean required
    favorite boolean required Whether the current user favorited it; generated `home` dashboards are true.
    created_at string · date-time required
    updated_at string · date-time required
    permissions object required
    edit_dashboard boolean required
    delete_dashboard boolean required
    create_dashboard boolean required
    configs object required
    layouts object[] required
    name string required
    label string required
    default_layout string required 1-col 2-col 4-col
    widgets object[] required
    name string required
    label string required
    description string required
    allowed_layouts string[] required
    filters object[] required
    type string required standard saved
    id string required
    name string required
    label string required
    shared boolean
    roadmap_view_enabled boolean required
    changelog_view_enabled boolean required
    roadmap_versions object[] required
    id string required
    name string required
    label string required
    changelog_versions object[] required
    id string required
    name string required
    label string required
    time_window_options object[] required
    name string required
    label string required
    default_time_window string required all_time last_week last_month last_quarter last_six_months last_year
    {
        "dashboard": {
            "id": "string",
            "name": "string",
            "title": "string",
            "project": {
                "id": 1,
                "name": "string"
            },
            "owner": {
                "id": 1,
                "name": "string",
                "real_name": "string",
                "email": "string",
                "avatar": "string"
            },
            "definition": [
                {
                    "layout": "1-col",
                    "widgets": [
                        "string"
                    ]
                }
            ],
            "enabled": true,
            "favorite": true,
            "created_at": "string",
            "updated_at": "string"
        },
        "permissions": {
            "edit_dashboard": true,
            "delete_dashboard": true,
            "create_dashboard": true
        },
        "configs": {
            "layouts": [
                {
                    "name": "string",
                    "label": "string"
                }
            ],
            "default_layout": "1-col",
            "widgets": [
                {
                    "name": "string",
                    "label": "string",
                    "description": "string",
                    "allowed_layouts": [
                        "1-col"
                    ]
                }
            ],
            "filters": [
                {
                    "type": "standard",
                    "id": "string",
                    "name": "string",
                    "label": "string",
                    "shared": true
                }
            ],
            "roadmap_view_enabled": true,
            "changelog_view_enabled": true,
            "roadmap_versions": [
                {
                    "id": "string",
                    "name": "string",
                    "label": "string"
                }
            ],
            "changelog_versions": [
                {
                    "id": "string",
                    "name": "string",
                    "label": "string"
                }
            ],
            "time_window_options": [
                {
                    "name": "string",
                    "label": "string"
                }
            ],
            "default_time_window": "all_time"
        }
    }
  • 400 Invalid project, dashboard ID/name, widget, filter, or dashboard definition.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or the API token is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks the required project or dashboard permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The dashboard or project does not exist.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/Dantis/projects/1/pages/dashboards/value/edit
GET /plugins/Dantis/projects/{project_id}/pages/dashboards/{name}/view #

Get a named dashboard for reporting

Returns a named dashboard, its resolved widget data, and permissions. If name is home and no saved dashboard exists, the project default dashboard is generated in memory.

Parameters

Name In Type Description
project_id required path integer · int32 Numeric MantisBT project ID.
name required path string Dashboard name within the project. The reserved default name is `home`.

Responses

  • 200 Dashboard and reporting-page permissions.
    dashboard object required
    id string required Persisted dashboard ID; generated default dashboards may use an empty or synthetic ID.
    name string required
    title string required
    project object required
    id integer required
    name string required
    owner object required
    id integer required
    name string
    real_name string
    email string
    avatar string · uri
    definition object[] required
    layout string required Section layout; widgets must support it. 1-col 2-col 4-col
    widgets string[] required
    enabled boolean required
    favorite boolean required Whether the current user favorited it; generated `home` dashboards are true.
    created_at string · date-time required
    updated_at string · date-time required
    permissions object required
    edit_dashboard boolean required
    delete_dashboard boolean required
    create_dashboard boolean required
    {
        "dashboard": {
            "id": "string",
            "name": "string",
            "title": "string",
            "project": {
                "id": 1,
                "name": "string"
            },
            "owner": {
                "id": 1,
                "name": "string",
                "real_name": "string",
                "email": "string",
                "avatar": "string"
            },
            "definition": [
                {
                    "layout": "1-col",
                    "widgets": [
                        "string"
                    ]
                }
            ],
            "enabled": true,
            "favorite": true,
            "created_at": "string",
            "updated_at": "string"
        },
        "permissions": {
            "edit_dashboard": true,
            "delete_dashboard": true,
            "create_dashboard": true
        }
    }
  • 400 Invalid project, dashboard ID/name, widget, filter, or dashboard definition.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or the API token is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks the required project or dashboard permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The dashboard or project does not exist.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/Dantis/projects/1/pages/dashboards/value/view
GET /plugins/Dantis/projects/{project_id}/pages/dashboards_list #

List owned and favorite dashboards

Lists enabled dashboards owned by the caller and dashboards they favorited, optionally limited to a project.

Parameters

Name In Type Description
project_id required path integer · int32 Numeric MantisBT project ID.

Responses

  • 200 Owned dashboards, favorite dashboards, and page permissions.
    owned object[] required
    id string required Persisted dashboard ID; generated default dashboards may use an empty or synthetic ID.
    name string required
    title string required
    project object required
    id integer required
    name string required
    owner object required
    id integer required
    name string
    real_name string
    email string
    avatar string · uri
    definition object[] required
    layout string required Section layout; widgets must support it. 1-col 2-col 4-col
    widgets string[] required
    enabled boolean required
    favorite boolean required Whether the current user favorited it; generated `home` dashboards are true.
    created_at string · date-time required
    updated_at string · date-time required
    favorites object[] required
    id string required Persisted dashboard ID; generated default dashboards may use an empty or synthetic ID.
    name string required
    title string required
    project object required
    id integer required
    name string required
    owner object required
    id integer required
    name string
    real_name string
    email string
    avatar string · uri
    definition object[] required
    layout string required Section layout; widgets must support it. 1-col 2-col 4-col
    widgets string[] required
    enabled boolean required
    favorite boolean required Whether the current user favorited it; generated `home` dashboards are true.
    created_at string · date-time required
    updated_at string · date-time required
    permissions object required
    edit_dashboard boolean required
    delete_dashboard boolean required
    create_dashboard boolean required
    {
        "owned": [
            {
                "id": "string",
                "name": "string",
                "title": "string",
                "project": {
                    "id": 1,
                    "name": "string"
                },
                "owner": {
                    "id": 1,
                    "name": "string",
                    "real_name": "string",
                    "email": "string",
                    "avatar": "string"
                },
                "definition": [
                    {
                        "layout": "1-col",
                        "widgets": [
                            "string"
                        ]
                    }
                ],
                "enabled": true,
                "favorite": true,
                "created_at": "string",
                "updated_at": "string"
            }
        ],
        "favorites": [
            {
                "id": "string",
                "name": "string",
                "title": "string",
                "project": {
                    "id": 1,
                    "name": "string"
                },
                "owner": {
                    "id": 1,
                    "name": "string",
                    "real_name": "string",
                    "email": "string",
                    "avatar": "string"
                },
                "definition": [
                    {
                        "layout": "1-col",
                        "widgets": [
                            "string"
                        ]
                    }
                ],
                "enabled": true,
                "favorite": true,
                "created_at": "string",
                "updated_at": "string"
            }
        ],
        "permissions": {
            "edit_dashboard": true,
            "delete_dashboard": true,
            "create_dashboard": true
        }
    }
  • 400 Invalid project, dashboard ID/name, widget, filter, or dashboard definition.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or the API token is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks the required project or dashboard permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/Dantis/projects/1/pages/dashboards_list

Dashboards

POST /plugins/Dantis/dashboards/create #

Create a dashboard

Creates a dashboard in a visible project. The name must be unique in the project, title is limited to 64 characters, and every definition section must contain at least one widget supported by the selected layout.

Request body required

name string required Unique project-local dashboard name; `home` is reserved.
title string Display title. Required for non-default dashboards.
project_id integer · int32 required Project that owns the dashboard.
definition object[] required Non-empty ordered sections; each section must contain at least one widget.
layout string required Section layout; widgets must support it. 1-col 2-col 4-col
widgets string[] required

Responses

  • 201 Dashboard created.
    id string required
    name string required
    {
        "id": "string",
        "name": "string"
    }
  • 400 Invalid project, dashboard ID/name, widget, filter, or dashboard definition.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or the API token is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks the required project or dashboard permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X POST \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/Dantis/dashboards/create \
  -d '{
    "name": "string",
    "title": "string",
    "project_id": 1,
    "definition": [
        {
            "layout": "1-col",
            "widgets": [
                "string"
            ]
        }
    ]
}'
Request body · application/json
{
    "name": "string",
    "title": "string",
    "project_id": 1,
    "definition": [
        {
            "layout": "1-col",
            "widgets": [
                "string"
            ]
        }
    ]
}
PATCH /plugins/Dantis/dashboards/{id} #

Update a dashboard

Updates the supplied fields of a dashboard owned by the caller. The default home dashboard may also be updated by users with project management permission. The response is the edit-page representation.

Parameters

Name In Type Description
id required path string 32-character dashboard identifier returned by the create endpoint.

Request body required

name string New project-local name; it cannot be the reserved `home` name.
title string New display title; the default dashboard always uses the project name.
definition object[]
layout string required Section layout; widgets must support it. 1-col 2-col 4-col
widgets string[] required

Responses

  • 200 Dashboard updated.
    dashboard object required
    id string required Persisted dashboard ID; generated default dashboards may use an empty or synthetic ID.
    name string required
    title string required
    project object required
    id integer required
    name string required
    owner object required
    id integer required
    name string
    real_name string
    email string
    avatar string · uri
    definition object[] required
    layout string required Section layout; widgets must support it. 1-col 2-col 4-col
    widgets string[] required
    enabled boolean required
    favorite boolean required Whether the current user favorited it; generated `home` dashboards are true.
    created_at string · date-time required
    updated_at string · date-time required
    {
        "dashboard": {
            "id": "string",
            "name": "string",
            "title": "string",
            "project": {
                "id": 1,
                "name": "string"
            },
            "owner": {
                "id": 1,
                "name": "string",
                "real_name": "string",
                "email": "string",
                "avatar": "string"
            },
            "definition": [
                {
                    "layout": "1-col",
                    "widgets": [
                        "string"
                    ]
                }
            ],
            "enabled": true,
            "favorite": true,
            "created_at": "string",
            "updated_at": "string"
        }
    }
  • 400 Invalid project, dashboard ID/name, widget, filter, or dashboard definition.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or the API token is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks the required project or dashboard permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The dashboard or project does not exist.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X PATCH \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/Dantis/dashboards/value \
  -d '{
    "name": "string",
    "title": "string",
    "definition": [
        {
            "layout": "1-col",
            "widgets": [
                "string"
            ]
        }
    ]
}'
Request body · application/json
{
    "name": "string",
    "title": "string",
    "definition": [
        {
            "layout": "1-col",
            "widgets": [
                "string"
            ]
        }
    ]
}
DELETE /plugins/Dantis/dashboards/{id} #

Delete a dashboard

Deletes the dashboard and all of its favorite records. Only its owner can delete it.

Parameters

Name In Type Description
id required path string 32-character dashboard identifier returned by the create endpoint.

Responses

  • 200 Dashboard deleted; the response object is empty.
    []
  • 400 Invalid project, dashboard ID/name, widget, filter, or dashboard definition.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or the API token is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks the required project or dashboard permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The dashboard or project does not exist.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X DELETE \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/Dantis/dashboards/value
POST /plugins/Dantis/dashboards/{id}/favorite #

Favorite a dashboard

Adds the dashboard to the authenticated user's favorites; repeating the request is harmless.

Parameters

Name In Type Description
id required path string 32-character dashboard identifier returned by the create endpoint.

Responses

  • 200 Favorite added or already present.
    []
  • 400 Invalid project, dashboard ID/name, widget, filter, or dashboard definition.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or the API token is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks the required project or dashboard permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The dashboard or project does not exist.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X POST \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/Dantis/dashboards/value/favorite
DELETE /plugins/Dantis/dashboards/{id}/favorite #

Remove a dashboard from favorites

Removes the dashboard from the authenticated user's favorites; repeating the request is harmless.

Parameters

Name In Type Description
id required path string 32-character dashboard identifier returned by the create endpoint.

Responses

  • 200 Favorite removed.
    []
  • 400 Invalid project, dashboard ID/name, widget, filter, or dashboard definition.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or the API token is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks the required project or dashboard permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The dashboard or project does not exist.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X DELETE \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/Dantis/dashboards/value/favorite
PATCH /plugins/Dantis/projects/{project_id}/dashboards/{name} #

Update a dashboard by project and name

Updates a named dashboard. For the reserved home name, Dantis creates the project default dashboard when it does not yet exist; other missing dashboards return not found.

Parameters

Name In Type Description
project_id required path integer · int32 Numeric MantisBT project ID.
name required path string Dashboard name within the project. The reserved default name is `home`.

Request body required

name string New project-local name; it cannot be the reserved `home` name.
title string New display title; the default dashboard always uses the project name.
definition object[]
layout string required Section layout; widgets must support it. 1-col 2-col 4-col
widgets string[] required

Responses

  • 200 Dashboard updated or the missing default dashboard created.
    dashboard object required
    id string required Persisted dashboard ID; generated default dashboards may use an empty or synthetic ID.
    name string required
    title string required
    project object required
    id integer required
    name string required
    owner object required
    id integer required
    name string
    real_name string
    email string
    avatar string · uri
    definition object[] required
    layout string required Section layout; widgets must support it. 1-col 2-col 4-col
    widgets string[] required
    enabled boolean required
    favorite boolean required Whether the current user favorited it; generated `home` dashboards are true.
    created_at string · date-time required
    updated_at string · date-time required
    {
        "dashboard": {
            "id": "string",
            "name": "string",
            "title": "string",
            "project": {
                "id": 1,
                "name": "string"
            },
            "owner": {
                "id": 1,
                "name": "string",
                "real_name": "string",
                "email": "string",
                "avatar": "string"
            },
            "definition": [
                {
                    "layout": "1-col",
                    "widgets": [
                        "string"
                    ]
                }
            ],
            "enabled": true,
            "favorite": true,
            "created_at": "string",
            "updated_at": "string"
        }
    }
  • 400 Invalid project, dashboard ID/name, widget, filter, or dashboard definition.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or the API token is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks the required project or dashboard permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The dashboard or project does not exist.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X PATCH \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/Dantis/projects/1/dashboards/value \
  -d '{
    "name": "string",
    "title": "string",
    "definition": [
        {
            "layout": "1-col",
            "widgets": [
                "string"
            ]
        }
    ]
}'
Request body · application/json
{
    "name": "string",
    "title": "string",
    "definition": [
        {
            "layout": "1-col",
            "widgets": [
                "string"
            ]
        }
    ]
}

Widgets

POST /plugins/Dantis/widget #

Resolve widget data

Validates a widget configuration for a project and returns its serialized configuration. On view, edit, or create pages the response also contains widget data when that widget supports it; widget data failures are returned in the widget's error property.

Request body required

project_id integer · int32 required
page string Controls whether resolved widget data is attached. `list` is used internally for dashboard lists. view edit create
widget string required

Responses

  • 200 Serialized widget and, for non-list pages, its resolved data.
    "string"
  • 400 Invalid project, dashboard ID/name, widget, filter, or dashboard definition.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or the API token is invalid.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user lacks the required project or dashboard permission.
    message string required
    code integer
    localized string
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X POST \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/Dantis/widget \
  -d '{
    "project_id": 1,
    "page": "view",
    "widget": "string"
}'
Request body · application/json
{
    "project_id": 1,
    "page": "view",
    "widget": "string"
}

Avatars

POST /plugins/Lavatar #

Upload or replace a user's avatar

Adds an avatar for the specified user. If that user already has an avatar, the existing file is deleted before the new image is stored. The authenticated user may update their own avatar. Updating another user's avatar requires the configured MantisBT manage-user access level. Protected users cannot have an avatar added or replaced.

Request body required

user_id integer · int32 required Numeric MantisBT user ID to associate with the avatar.
avatar_image string required Base64 data URI containing the image bytes, for example `data:image/png;base64,<encoded-bytes>`. The decoded image must be JPEG (`image/jpeg`) or PNG (`image/png`) and no larger than 1 MiB (1,048,576 bytes). This endpoint accepts a JSON request body; it does not accept multipart/form-data.

Responses

  • 201 Avatar upload completed. The command returns JSON null.
    "string"
  • 400 The user ID or image data is missing or invalid, the image format is unsupported, or the image exceeds 1 MiB.
    message string required Technical error message from the failed operation.
    code integer required MantisBT error code associated with the failure.
    localized string required Localized MantisBT description for the error code.
    {
        "message": "User id is missing or invalid.",
        "code": 11,
        "localized": "A necessary field was empty. Please recheck your inputs."
    }
  • 401 Authentication is required or the supplied API token is invalid.
  • 403 The caller cannot modify the target user, or the target account is protected.
    message string required Technical error message from the failed operation.
    code integer required MantisBT error code associated with the failure.
    localized string required Localized MantisBT description for the error code.
    {
        "message": "User id is missing or invalid.",
        "code": 11,
        "localized": "A necessary field was empty. Please recheck your inputs."
    }
  • 404 The target user does not exist.
    message string required Technical error message from the failed operation.
    code integer required MantisBT error code associated with the failure.
    localized string required Localized MantisBT description for the error code.
    {
        "message": "User id is missing or invalid.",
        "code": 11,
        "localized": "A necessary field was empty. Please recheck your inputs."
    }
  • 500 Avatar storage failed unexpectedly.
    message string required Exception message describing the failed operation.
    {
        "message": "User does not have an avatar attached."
    }
cURL
curl -X POST \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/Lavatar \
  -d '{
    "user_id": 42,
    "avatar_image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUA..."
}'
Request body · application/json
{
    "user_id": 42,
    "avatar_image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUA..."
}
DELETE /plugins/Lavatar/{user_id} #

Delete a user's avatar

Removes the stored avatar for the specified user. The authenticated user may delete their own avatar. Deleting another user's avatar requires the configured MantisBT manage-user access level. Protected users cannot have an avatar deleted, and a user without an avatar produces an internal error from the command implementation.

Parameters

Name In Type Description
user_id required path integer · int32 Numeric MantisBT user ID whose avatar is being changed. e.g. 42

Responses

  • 204 Avatar deleted successfully. No response body is returned.
  • 400 The user ID is missing or invalid.
    message string required Technical error message from the failed operation.
    code integer required MantisBT error code associated with the failure.
    localized string required Localized MantisBT description for the error code.
    {
        "message": "User id is missing or invalid.",
        "code": 11,
        "localized": "A necessary field was empty. Please recheck your inputs."
    }
  • 401 Authentication is required or the supplied API token is invalid.
  • 403 The caller cannot modify the target user, or the target account is protected.
    message string required Technical error message from the failed operation.
    code integer required MantisBT error code associated with the failure.
    localized string required Localized MantisBT description for the error code.
    {
        "message": "User id is missing or invalid.",
        "code": 11,
        "localized": "A necessary field was empty. Please recheck your inputs."
    }
  • 404 The target user does not exist.
    message string required Technical error message from the failed operation.
    code integer required MantisBT error code associated with the failure.
    localized string required Localized MantisBT description for the error code.
    {
        "message": "User id is missing or invalid.",
        "code": 11,
        "localized": "A necessary field was empty. Please recheck your inputs."
    }
  • 500 The target user does not have an attached avatar, or avatar deletion failed.
    message string required Exception message describing the failed operation.
    {
        "message": "User does not have an avatar attached."
    }
cURL
curl -X DELETE \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/Lavatar/42

Page notes

PATCH /plugins/Pages/notes/{note_id} #

Update a page note

Replaces the note text after checking the caller's page-note modification permission. The response contains the updated note with Pages attachment URLs and semantic-link text.

Parameters

Name In Type Description
note_id required path integer Numeric ID of the page note.

Request body required

text string required Replacement markdown note text.

Responses

  • 200 Note updated.
    note object required
    id integer required Note ID.
    container string required Notes container owned by Pages. page-notes
    ref_id integer required Page ID to which the note belongs.
    project_id integer required Owning project ID.
    reporter object required User representation returned for page authors and note reporters.
    id integer Numeric user ID.
    name string Username.
    real_name string Display name when configured.
    email string · email User email address when visible.
    enabled boolean Whether the account is enabled.
    avatar string Avatar data when avatars are enabled.
    text string required Markdown note text after Pages semantic-link expansion.
    type string Note type returned by the Notes plugin.
    view_state string Note visibility state when supplied by Notes.
    time_tracking string Time-tracking value when supplied by Notes.
    created_at string · date-time required Note creation time.
    updated_at string · date-time required Last note update time when available.
    files object[] required
    id integer required MediaVault attachment ID.
    name string required Stored filename.
    size integer required Size in bytes.
    content_type string required MIME type.
    created_at string · date-time required Attachment creation time.
    download_url string required Pages URL for downloading the note attachment.
    {
        "note": {
            "id": 1,
            "container": "page-notes",
            "ref_id": 1,
            "project_id": 1,
            "reporter": {
                "id": 1,
                "name": "string",
                "real_name": "string",
                "email": "string",
                "enabled": true,
                "avatar": "string"
            },
            "text": "string",
            "type": "string",
            "view_state": "string",
            "time_tracking": "string",
            "created_at": "string",
            "updated_at": "string",
            "files": [
                {
                    "id": 1,
                    "name": "string",
                    "size": 1,
                    "content_type": "string",
                    "created_at": "string",
                    "download_url": "string"
                }
            ]
        }
    }
  • 400 The JSON body or one of its fields is invalid.
  • 401 Authentication is required or the API token is invalid.
  • 403 The authenticated user does not have the required project or note permission.
  • 404 The page, project, revision, note, or attachment was not found.
cURL
curl -X PATCH \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/Pages/notes/1 \
  -d '{
    "text": "string"
}'
Request body · application/json
{
    "text": "string"
}
DELETE /plugins/Pages/notes/{note_id} #

Delete a page note

Deletes a page note after applying the page-note delete threshold, including the own-note versus any-note distinction. The response has no body.

Parameters

Name In Type Description
note_id required path integer Numeric ID of the page note.

Responses

  • 204 Note deleted; the response has no body.
  • 401 Authentication is required or the API token is invalid.
  • 403 The authenticated user does not have the required project or note permission.
  • 404 The page, project, revision, note, or attachment was not found.
cURL
curl -X DELETE \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/Pages/notes/1
GET /plugins/Pages/notes/{note_id}/files/{file_id} #

Download a page-note attachment

Streams a note attachment after checking view permission on the note's owning page. A file ID that is not attached to the note returns not found.

Parameters

Name In Type Description
note_id required path integer Numeric ID of the page note.
file_id required path integer Numeric ID of the attachment.

Responses

  • 200 The attachment bytes.
  • 401 Authentication is required or the API token is invalid.
  • 403 The authenticated user does not have the required project or note permission.
  • 404 The page, project, revision, note, or attachment was not found.
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/Pages/notes/1/files/1
DELETE /plugins/Pages/notes/{note_id}/files/{file_id} #

Delete a page-note attachment

Deletes a note attachment after checking the same page-note modification permission used to edit the note. The response has no body.

Parameters

Name In Type Description
note_id required path integer Numeric ID of the page note.
file_id required path integer Numeric ID of the attachment.

Responses

  • 204 Note attachment deleted; the response has no body.
  • 401 Authentication is required or the API token is invalid.
  • 403 The authenticated user does not have the required project or note permission.
  • 404 The page, project, revision, note, or attachment was not found.
cURL
curl -X DELETE \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/Pages/notes/1/files/1
GET /plugins/Pages/{page_id}/notes #

List notes on a page

Returns notes attached to the page in the authenticated user's configured note order. Page view permission controls visibility; each note includes the Pages-generated attachment download URL and markdown semantic-link text.

Parameters

Name In Type Description
page_id required path integer Numeric ID of the page.

Responses

  • 200 Page notes.
    notes object[] required Notes attached to the requested page.
    id integer required Note ID.
    container string required Notes container owned by Pages. page-notes
    ref_id integer required Page ID to which the note belongs.
    project_id integer required Owning project ID.
    reporter object required User representation returned for page authors and note reporters.
    id integer Numeric user ID.
    name string Username.
    real_name string Display name when configured.
    email string · email User email address when visible.
    enabled boolean Whether the account is enabled.
    avatar string Avatar data when avatars are enabled.
    text string required Markdown note text after Pages semantic-link expansion.
    type string Note type returned by the Notes plugin.
    view_state string Note visibility state when supplied by Notes.
    time_tracking string Time-tracking value when supplied by Notes.
    created_at string · date-time required Note creation time.
    updated_at string · date-time required Last note update time when available.
    files object[] required
    id integer required MediaVault attachment ID.
    name string required Stored filename.
    size integer required Size in bytes.
    content_type string required MIME type.
    created_at string · date-time required Attachment creation time.
    download_url string required Pages URL for downloading the note attachment.
    {
        "notes": [
            {
                "id": 1,
                "container": "page-notes",
                "ref_id": 1,
                "project_id": 1,
                "reporter": {
                    "id": 1,
                    "name": "string",
                    "real_name": "string",
                    "email": "string",
                    "enabled": true,
                    "avatar": "string"
                },
                "text": "string",
                "type": "string",
                "view_state": "string",
                "time_tracking": "string",
                "created_at": "string",
                "updated_at": "string",
                "files": [
                    {
                        "id": 1,
                        "name": "string",
                        "size": 1,
                        "content_type": "string",
                        "created_at": "string",
                        "download_url": "string"
                    }
                ]
            }
        ]
    }
  • 401 Authentication is required or the API token is invalid.
  • 403 The authenticated user does not have the required project or note permission.
  • 404 The page, project, revision, note, or attachment was not found.
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/Pages/1/notes
POST /plugins/Pages/{page_id}/notes #

Create a note on a page

Creates a markdown note attached to the page. text defaults to an empty string when omitted. Base64 attachments are handed to the Notes plugin, then decorated with a Pages download URL; the command also sends mention notifications and returns the page's current collaborators.

Parameters

Name In Type Description
page_id required path integer Numeric ID of the page.

Request body required

text string Markdown note text; defaults to an empty string.
files string[] Optional base64 attachments passed to the Notes plugin.

Responses

  • 201 Note created.
    note object required
    id integer required Note ID.
    container string required Notes container owned by Pages. page-notes
    ref_id integer required Page ID to which the note belongs.
    project_id integer required Owning project ID.
    reporter object required User representation returned for page authors and note reporters.
    id integer Numeric user ID.
    name string Username.
    real_name string Display name when configured.
    email string · email User email address when visible.
    enabled boolean Whether the account is enabled.
    avatar string Avatar data when avatars are enabled.
    text string required Markdown note text after Pages semantic-link expansion.
    type string Note type returned by the Notes plugin.
    view_state string Note visibility state when supplied by Notes.
    time_tracking string Time-tracking value when supplied by Notes.
    created_at string · date-time required Note creation time.
    updated_at string · date-time required Last note update time when available.
    files object[] required
    id integer required MediaVault attachment ID.
    name string required Stored filename.
    size integer required Size in bytes.
    content_type string required MIME type.
    created_at string · date-time required Attachment creation time.
    download_url string required Pages URL for downloading the note attachment.
    collaborators object[] required Current page collaborators recalculated after note creation.
    id integer Numeric user ID.
    name string Username.
    real_name string Display name when configured.
    email string · email User email address when visible.
    enabled boolean Whether the account is enabled.
    avatar string Avatar data when avatars are enabled.
    {
        "note": {
            "id": 1,
            "container": "page-notes",
            "ref_id": 1,
            "project_id": 1,
            "reporter": {
                "id": 1,
                "name": "string",
                "real_name": "string",
                "email": "string",
                "enabled": true,
                "avatar": "string"
            },
            "text": "string",
            "type": "string",
            "view_state": "string",
            "time_tracking": "string",
            "created_at": "string",
            "updated_at": "string",
            "files": [
                {
                    "id": 1,
                    "name": "string",
                    "size": 1,
                    "content_type": "string",
                    "created_at": "string",
                    "download_url": "string"
                }
            ]
        },
        "collaborators": [
            {
                "id": 1,
                "name": "string",
                "real_name": "string",
                "email": "string",
                "enabled": true,
                "avatar": "string"
            }
        ]
    }
  • 400 The JSON body or one of its fields is invalid.
  • 401 Authentication is required or the API token is invalid.
  • 403 The authenticated user does not have the required project or note permission.
  • 404 The page, project, revision, note, or attachment was not found.
cURL
curl -X POST \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/Pages/1/notes \
  -d '{
    "text": "string",
    "files": [
        "string"
    ]
}'
Request body · application/json
{
    "text": "string",
    "files": [
        "string"
    ]
}

Pages

POST /plugins/Pages #

Create a markdown page

Creates a page in the supplied project. name, title, and non-empty markdown content are required. If issue_id is supplied, the page is associated with that issue and its name must be the issue ID (a padded numeric name is normalized). files may contain base64 attachments; duplicate filenames are ignored. The response includes the created page, its attachment metadata, and its revision history.

Request body required

name string Page name; omitted only when creating an issue-associated page.
title string required Page title.
content string required Markdown content; HTML is not required for images or references.
project object required MantisBT project reference accepted by page commands.
id integer Numeric project ID.
name string Project name.
issue_id integer Optional issue to associate with the page.
message string Revision message recorded for the creation.
files object[] Optional base64 attachments. Duplicate filenames are ignored.
name string required Original filename.
content string · byte required Base64-encoded file contents.

Responses

  • 201 Page created.
    page object required
    id integer required Numeric page ID.
    name string required URL-safe page name.
    title string required Human-readable page title.
    project object required MantisBT project reference accepted by page commands.
    id integer Numeric project ID.
    name string Project name.
    issue_id integer Associated issue ID; null for an ordinary project page.
    created_by object required User representation returned for page authors and note reporters.
    id integer Numeric user ID.
    name string Username.
    real_name string Display name when configured.
    email string · email User email address when visible.
    enabled boolean Whether the account is enabled.
    avatar string Avatar data when avatars are enabled.
    created_at string · date-time required Creation time.
    updated_by object required User representation returned for page authors and note reporters.
    id integer Numeric user ID.
    name string Username.
    real_name string Display name when configured.
    email string · email User email address when visible.
    enabled boolean Whether the account is enabled.
    avatar string Avatar data when avatars are enabled.
    updated_at string · date-time required Last update time.
    content string required Markdown page content.
    files object[] Page attachments returned by create responses.
    id integer required MediaVault attachment ID.
    page_id integer required Owning page ID.
    name string required Stored filename.
    size integer required Size in bytes.
    content_type string required MIME type.
    created_at string · date-time required Attachment creation time.
    download_url string required URL generated by Pages for downloading the attachment.
    delete_url string required Classic Pages URL for deleting the attachment.
    revisions object[] Revision history returned by create responses.
    id integer required Revision ID.
    page_id integer required Owning page ID.
    project_id integer required Owning project ID.
    name string required Page name at the revision.
    title string required Page title at the revision.
    content string Markdown content at the revision.
    message string required Update message recorded with the revision.
    updated_by integer required Numeric ID of the user who made the revision.
    updated_at integer required Unix timestamp of the revision update.
    {
        "page": {
            "id": 1,
            "name": "string",
            "title": "string",
            "project": {
                "id": 1,
                "name": "string"
            },
            "issue_id": 1,
            "created_by": {
                "id": 1,
                "name": "string",
                "real_name": "string",
                "email": "string",
                "enabled": true,
                "avatar": "string"
            },
            "created_at": "string",
            "updated_by": {
                "id": 1,
                "name": "string",
                "real_name": "string",
                "email": "string",
                "enabled": true,
                "avatar": "string"
            },
            "updated_at": "string",
            "content": "string",
            "files": [
                {
                    "id": 1,
                    "page_id": 1,
                    "name": "string",
                    "size": 1,
                    "content_type": "string",
                    "created_at": "string",
                    "download_url": "string",
                    "delete_url": "string"
                }
            ],
            "revisions": [
                {
                    "id": 1,
                    "page_id": 1,
                    "project_id": 1,
                    "name": "string",
                    "title": "string",
                    "content": "string",
                    "message": "string",
                    "updated_by": 1,
                    "updated_at": 1
                }
            ]
        }
    }
  • 400 The JSON body or one of its fields is invalid.
  • 401 Authentication is required or the API token is invalid.
  • 403 The authenticated user does not have the required project or note permission.
  • 404 The page, project, revision, note, or attachment was not found.
cURL
curl -X POST \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/Pages \
  -d '{
    "name": "string",
    "title": "string",
    "content": "string",
    "project": {
        "id": 1,
        "name": "string"
    },
    "issue_id": 1,
    "message": "string",
    "files": [
        {
            "name": "string",
            "content": "string"
        }
    ]
}'
Request body · application/json
{
    "name": "string",
    "title": "string",
    "content": "string",
    "project": {
        "id": 1,
        "name": "string"
    },
    "issue_id": 1,
    "message": "string",
    "files": [
        {
            "name": "string",
            "content": "string"
        }
    ]
}
PATCH /plugins/Pages #

Update a markdown page

Updates an existing page selected by id, or selects it by project and name when id is omitted. Supplied name, title, and content fields replace their current values; omitted fields are retained. A rename updates page references and cannot rename an issue-associated page. New base64 attachments can be supplied in files; duplicate filenames are ignored. The response contains the updated page.

Request body required

id integer Existing page ID; use this or project plus name.
project object MantisBT project reference accepted by page commands.
id integer Numeric project ID.
name string Project name.
name string Existing page name when selecting by project and name, or replacement name for an ordinary page.
title string Replacement page title.
content string Replacement markdown content.
message string Revision message.
files object[] Optional new base64 attachments. Duplicate filenames are ignored.
name string required Original filename.
content string · byte required Base64-encoded file contents.

Responses

  • 200 Page updated.
    page object required
    id integer required Numeric page ID.
    name string required URL-safe page name.
    title string required Human-readable page title.
    project object required MantisBT project reference accepted by page commands.
    id integer Numeric project ID.
    name string Project name.
    issue_id integer Associated issue ID; null for an ordinary project page.
    created_by object required User representation returned for page authors and note reporters.
    id integer Numeric user ID.
    name string Username.
    real_name string Display name when configured.
    email string · email User email address when visible.
    enabled boolean Whether the account is enabled.
    avatar string Avatar data when avatars are enabled.
    created_at string · date-time required Creation time.
    updated_by object required User representation returned for page authors and note reporters.
    id integer Numeric user ID.
    name string Username.
    real_name string Display name when configured.
    email string · email User email address when visible.
    enabled boolean Whether the account is enabled.
    avatar string Avatar data when avatars are enabled.
    updated_at string · date-time required Last update time.
    content string required Markdown page content.
    files object[] Page attachments returned by create responses.
    id integer required MediaVault attachment ID.
    page_id integer required Owning page ID.
    name string required Stored filename.
    size integer required Size in bytes.
    content_type string required MIME type.
    created_at string · date-time required Attachment creation time.
    download_url string required URL generated by Pages for downloading the attachment.
    delete_url string required Classic Pages URL for deleting the attachment.
    revisions object[] Revision history returned by create responses.
    id integer required Revision ID.
    page_id integer required Owning page ID.
    project_id integer required Owning project ID.
    name string required Page name at the revision.
    title string required Page title at the revision.
    content string Markdown content at the revision.
    message string required Update message recorded with the revision.
    updated_by integer required Numeric ID of the user who made the revision.
    updated_at integer required Unix timestamp of the revision update.
    {
        "page": {
            "id": 1,
            "name": "string",
            "title": "string",
            "project": {
                "id": 1,
                "name": "string"
            },
            "issue_id": 1,
            "created_by": {
                "id": 1,
                "name": "string",
                "real_name": "string",
                "email": "string",
                "enabled": true,
                "avatar": "string"
            },
            "created_at": "string",
            "updated_by": {
                "id": 1,
                "name": "string",
                "real_name": "string",
                "email": "string",
                "enabled": true,
                "avatar": "string"
            },
            "updated_at": "string",
            "content": "string",
            "files": [
                {
                    "id": 1,
                    "page_id": 1,
                    "name": "string",
                    "size": 1,
                    "content_type": "string",
                    "created_at": "string",
                    "download_url": "string",
                    "delete_url": "string"
                }
            ],
            "revisions": [
                {
                    "id": 1,
                    "page_id": 1,
                    "project_id": 1,
                    "name": "string",
                    "title": "string",
                    "content": "string",
                    "message": "string",
                    "updated_by": 1,
                    "updated_at": 1
                }
            ]
        }
    }
  • 400 The JSON body or one of its fields is invalid.
  • 401 Authentication is required or the API token is invalid.
  • 403 The authenticated user does not have the required project or note permission.
  • 404 The page, project, revision, note, or attachment was not found.
cURL
curl -X PATCH \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/Pages \
  -d '{
    "id": 1,
    "project": {
        "id": 1,
        "name": "string"
    },
    "name": "string",
    "title": "string",
    "content": "string",
    "message": "string",
    "files": [
        {
            "name": "string",
            "content": "string"
        }
    ]
}'
Request body · application/json
{
    "id": 1,
    "project": {
        "id": 1,
        "name": "string"
    },
    "name": "string",
    "title": "string",
    "content": "string",
    "message": "string",
    "files": [
        {
            "name": "string",
            "content": "string"
        }
    ]
}
POST /plugins/Pages/get #

Get a page by project and name

Returns the visible page identified by its project reference and exact page name, including attachment metadata and resolved page links.

Request body required

name string required Exact page name.
project object required MantisBT project reference accepted by page commands.
id integer Numeric project ID.
name string Project name.

Responses

  • 200 Page lookup result.
    page object required
    id integer required Numeric page ID.
    name string required URL-safe page name.
    title string required Human-readable page title.
    project object required MantisBT project reference accepted by page commands.
    id integer Numeric project ID.
    name string Project name.
    issue_id integer Associated issue ID; null for an ordinary project page.
    created_by object required User representation returned for page authors and note reporters.
    id integer Numeric user ID.
    name string Username.
    real_name string Display name when configured.
    email string · email User email address when visible.
    enabled boolean Whether the account is enabled.
    avatar string Avatar data when avatars are enabled.
    created_at string · date-time required Creation time.
    updated_by object required User representation returned for page authors and note reporters.
    id integer Numeric user ID.
    name string Username.
    real_name string Display name when configured.
    email string · email User email address when visible.
    enabled boolean Whether the account is enabled.
    avatar string Avatar data when avatars are enabled.
    updated_at string · date-time required Last update time.
    content string required Markdown page content.
    files object[] Page attachments returned by create responses.
    id integer required MediaVault attachment ID.
    page_id integer required Owning page ID.
    name string required Stored filename.
    size integer required Size in bytes.
    content_type string required MIME type.
    created_at string · date-time required Attachment creation time.
    download_url string required URL generated by Pages for downloading the attachment.
    delete_url string required Classic Pages URL for deleting the attachment.
    revisions object[] Revision history returned by create responses.
    id integer required Revision ID.
    page_id integer required Owning page ID.
    project_id integer required Owning project ID.
    name string required Page name at the revision.
    title string required Page title at the revision.
    content string Markdown content at the revision.
    message string required Update message recorded with the revision.
    updated_by integer required Numeric ID of the user who made the revision.
    updated_at integer required Unix timestamp of the revision update.
    files object[] required
    id integer required MediaVault attachment ID.
    page_id integer required Owning page ID.
    name string required Stored filename.
    size integer required Size in bytes.
    content_type string required MIME type.
    created_at string · date-time required Attachment creation time.
    download_url string required URL generated by Pages for downloading the attachment.
    delete_url string required Classic Pages URL for deleting the attachment.
    links object required
    outbound object[] required Pages referenced by this page.
    project object required MantisBT project reference accepted by page commands.
    id integer Numeric project ID.
    name string Project name.
    name string required Referenced page name.
    title string required Link title decoded from the markdown reference.
    exists boolean required Whether the referenced page is currently visible and exists.
    inbound object[] required Pages that reference this page.
    id integer required Page ID.
    project_id integer required Project ID.
    name string required Page name.
    title string required Page title.
    {
        "page": {
            "id": 1,
            "name": "string",
            "title": "string",
            "project": {
                "id": 1,
                "name": "string"
            },
            "issue_id": 1,
            "created_by": {
                "id": 1,
                "name": "string",
                "real_name": "string",
                "email": "string",
                "enabled": true,
                "avatar": "string"
            },
            "created_at": "string",
            "updated_by": {
                "id": 1,
                "name": "string",
                "real_name": "string",
                "email": "string",
                "enabled": true,
                "avatar": "string"
            },
            "updated_at": "string",
            "content": "string",
            "files": [
                {
                    "id": 1,
                    "page_id": 1,
                    "name": "string",
                    "size": 1,
                    "content_type": "string",
                    "created_at": "string",
                    "download_url": "string",
                    "delete_url": "string"
                }
            ],
            "revisions": [
                {
                    "id": 1,
                    "page_id": 1,
                    "project_id": 1,
                    "name": "string",
                    "title": "string",
                    "content": "string",
                    "message": "string",
                    "updated_by": 1,
                    "updated_at": 1
                }
            ]
        },
        "files": [
            {
                "id": 1,
                "page_id": 1,
                "name": "string",
                "size": 1,
                "content_type": "string",
                "created_at": "string",
                "download_url": "string",
                "delete_url": "string"
            }
        ],
        "links": {
            "outbound": [
                {
                    "project": {
                        "id": 1,
                        "name": "string"
                    },
                    "name": "string",
                    "title": "string",
                    "exists": true
                }
            ],
            "inbound": [
                {
                    "id": 1,
                    "project_id": 1,
                    "name": "string",
                    "title": "string"
                }
            ]
        }
    }
  • 400 The JSON body or one of its fields is invalid.
  • 401 Authentication is required or the API token is invalid.
  • 403 The authenticated user does not have the required project or note permission.
  • 404 The page, project, revision, note, or attachment was not found.
cURL
curl -X POST \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/Pages/get \
  -d '{
    "name": "string",
    "project": {
        "id": 1,
        "name": "string"
    }
}'
Request body · application/json
{
    "name": "string",
    "project": {
        "id": 1,
        "name": "string"
    }
}
DELETE /plugins/Pages/revs/{rev_id} #

Delete a page revision

Deletes a revision after resolving its owning page and checking page-update permission. The response has no body.

Parameters

Name In Type Description
rev_id required path integer Numeric ID of the page revision.

Responses

  • 204 Page revision deleted; the response has no body.
  • 400 The JSON body or one of its fields is invalid.
  • 401 Authentication is required or the API token is invalid.
  • 403 The authenticated user does not have the required project or note permission.
  • 404 The page, project, revision, note, or attachment was not found.
cURL
curl -X DELETE \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/Pages/revs/1
GET /plugins/Pages/{page_id} #

Get a page by ID

Returns the visible page, its markdown content, page attachment metadata, and page links. Link entries identify whether each referenced page currently exists.

Parameters

Name In Type Description
page_id required path integer Numeric ID of the page.

Responses

  • 200 Page details.
    page object required
    id integer required Numeric page ID.
    name string required URL-safe page name.
    title string required Human-readable page title.
    project object required MantisBT project reference accepted by page commands.
    id integer Numeric project ID.
    name string Project name.
    issue_id integer Associated issue ID; null for an ordinary project page.
    created_by object required User representation returned for page authors and note reporters.
    id integer Numeric user ID.
    name string Username.
    real_name string Display name when configured.
    email string · email User email address when visible.
    enabled boolean Whether the account is enabled.
    avatar string Avatar data when avatars are enabled.
    created_at string · date-time required Creation time.
    updated_by object required User representation returned for page authors and note reporters.
    id integer Numeric user ID.
    name string Username.
    real_name string Display name when configured.
    email string · email User email address when visible.
    enabled boolean Whether the account is enabled.
    avatar string Avatar data when avatars are enabled.
    updated_at string · date-time required Last update time.
    content string required Markdown page content.
    files object[] Page attachments returned by create responses.
    id integer required MediaVault attachment ID.
    page_id integer required Owning page ID.
    name string required Stored filename.
    size integer required Size in bytes.
    content_type string required MIME type.
    created_at string · date-time required Attachment creation time.
    download_url string required URL generated by Pages for downloading the attachment.
    delete_url string required Classic Pages URL for deleting the attachment.
    revisions object[] Revision history returned by create responses.
    id integer required Revision ID.
    page_id integer required Owning page ID.
    project_id integer required Owning project ID.
    name string required Page name at the revision.
    title string required Page title at the revision.
    content string Markdown content at the revision.
    message string required Update message recorded with the revision.
    updated_by integer required Numeric ID of the user who made the revision.
    updated_at integer required Unix timestamp of the revision update.
    files object[] required
    id integer required MediaVault attachment ID.
    page_id integer required Owning page ID.
    name string required Stored filename.
    size integer required Size in bytes.
    content_type string required MIME type.
    created_at string · date-time required Attachment creation time.
    download_url string required URL generated by Pages for downloading the attachment.
    delete_url string required Classic Pages URL for deleting the attachment.
    links object required
    outbound object[] required Pages referenced by this page.
    project object required MantisBT project reference accepted by page commands.
    id integer Numeric project ID.
    name string Project name.
    name string required Referenced page name.
    title string required Link title decoded from the markdown reference.
    exists boolean required Whether the referenced page is currently visible and exists.
    inbound object[] required Pages that reference this page.
    id integer required Page ID.
    project_id integer required Project ID.
    name string required Page name.
    title string required Page title.
    {
        "page": {
            "id": 1,
            "name": "string",
            "title": "string",
            "project": {
                "id": 1,
                "name": "string"
            },
            "issue_id": 1,
            "created_by": {
                "id": 1,
                "name": "string",
                "real_name": "string",
                "email": "string",
                "enabled": true,
                "avatar": "string"
            },
            "created_at": "string",
            "updated_by": {
                "id": 1,
                "name": "string",
                "real_name": "string",
                "email": "string",
                "enabled": true,
                "avatar": "string"
            },
            "updated_at": "string",
            "content": "string",
            "files": [
                {
                    "id": 1,
                    "page_id": 1,
                    "name": "string",
                    "size": 1,
                    "content_type": "string",
                    "created_at": "string",
                    "download_url": "string",
                    "delete_url": "string"
                }
            ],
            "revisions": [
                {
                    "id": 1,
                    "page_id": 1,
                    "project_id": 1,
                    "name": "string",
                    "title": "string",
                    "content": "string",
                    "message": "string",
                    "updated_by": 1,
                    "updated_at": 1
                }
            ]
        },
        "files": [
            {
                "id": 1,
                "page_id": 1,
                "name": "string",
                "size": 1,
                "content_type": "string",
                "created_at": "string",
                "download_url": "string",
                "delete_url": "string"
            }
        ],
        "links": {
            "outbound": [
                {
                    "project": {
                        "id": 1,
                        "name": "string"
                    },
                    "name": "string",
                    "title": "string",
                    "exists": true
                }
            ],
            "inbound": [
                {
                    "id": 1,
                    "project_id": 1,
                    "name": "string",
                    "title": "string"
                }
            ]
        }
    }
  • 401 Authentication is required or the API token is invalid.
  • 403 The authenticated user does not have the required project or note permission.
  • 404 The page, project, revision, note, or attachment was not found.
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/Pages/1
DELETE /plugins/Pages/{page_id} #

Delete a page

Deletes the page, its revisions, page attachments, and notes belonging to the page. This operation returns no response body.

Parameters

Name In Type Description
page_id required path integer Numeric ID of the page.

Responses

  • 204 Page deleted; the response has no body.
  • 401 Authentication is required or the API token is invalid.
  • 403 The authenticated user does not have the required project or note permission.
  • 404 The page, project, revision, note, or attachment was not found.
cURL
curl -X DELETE \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/Pages/1
DELETE /plugins/Pages/{page_id}/files/{file_id} #

Delete a page attachment

Deletes an attachment only when the file belongs to the specified page and the caller can update that page. The response has no body.

Parameters

Name In Type Description
page_id required path integer Numeric ID of the page.
file_id required path integer Numeric ID of the attachment.

Responses

  • 204 Page attachment deleted; the response has no body.
  • 401 Authentication is required or the API token is invalid.
  • 403 The authenticated user does not have the required project or note permission.
  • 404 The page, project, revision, note, or attachment was not found.
cURL
curl -X DELETE \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/Pages/1/files/1
POST /plugins/Pages/{page_id}/move/{target_project_id} #

Move a page to another project

Moves an ordinary page to a different project. Page attachments and page-note attachments are relocated, note rows are reassigned, and markdown references are rewritten for the source and target projects. Issue-associated pages cannot be moved independently; they follow the issue move workflow. The successful response has an empty JSON object.

Parameters

Name In Type Description
page_id required path integer Numeric ID of the page.
target_project_id required path integer Numeric ID of the project receiving the page.

Responses

  • 200 Page moved; the command returns an empty JSON object.
    []
  • 400 The JSON body or one of its fields is invalid.
  • 401 Authentication is required or the API token is invalid.
  • 403 The authenticated user does not have the required project or note permission.
  • 404 The page, project, revision, note, or attachment was not found.
cURL
curl -X POST \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/Pages/1/move/1

Recurring tasks

POST /plugins/RecurringTasks #

Create a recurring task

Creates a recurring task for the supplied project. By default the task is personal and belongs to the authenticated user; set scope to project to create a task shared with the project. The request uses a flat payload, while the response returns the saved task with its issue template and normalized schedule nested under template and schedule.

Responses

  • 200 Task created; the response contains its new numeric ID.
    id integer required Created or updated recurring task ID.
    {
        "id": 1
    }
  • 400 Invalid ID, payload, frequency, or schedule field.
    message string Human-readable validation or access error.
    code integer MantisBT error code when supplied.
    localized string Localized error text when supplied.
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or the supplied token is invalid.
    message string Human-readable validation or access error.
    code integer MantisBT error code when supplied.
    localized string Localized error text when supplied.
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user cannot view, create, update, delete, or trigger this task.
    message string Human-readable validation or access error.
    code integer MantisBT error code when supplied.
    localized string Localized error text when supplied.
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The task or project does not exist.
    message string Human-readable validation or access error.
    code integer MantisBT error code when supplied.
    localized string Localized error text when supplied.
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X POST \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/RecurringTasks \
  -d '"string"'
Request body · application/json
"string"
GET /plugins/RecurringTasks/projects/{project_id}/tasks #

List tasks for a project (named route)

Same operation as /{project_id}/tasks; this named path is retained as a compatibility alias.

Parameters

Name In Type Description
project_id required path integer · int32 Numeric project ID, or `0` (`ALL_PROJECTS`) to list tasks across accessible projects.
page query integer One-based page number. Values below 1 are treated as 1.
per_page query integer Number of tasks per page; the implementation clamps this to 1–100.

Responses

  • 200 Visible project tasks and pagination metadata.
    tasks object[] required
    id integer required Recurring task ID.
    name string required Display name.
    owner_id integer required User who owns the task.
    scope integer required 0 for personal, 1 for project scope. 0 1
    project_id integer required Associated project ID.
    reporter_id integer required Reporter ID used when creating issues.
    reporter object Reporter account reference when populated by the surrounding API layer.
    enabled integer required Whether the task can execute; responses serialize this database flag as 0 or 1. 0 1
    template object required
    project object required
    id integer required MantisBT object ID.
    handler object required
    id integer required MantisBT object ID.
    summary string required Issue summary template.
    description string required Issue description template.
    view_state object required
    id integer required MantisBT object ID.
    category object required
    id integer required MantisBT object ID.
    custom_fields object[]
    field string required
    value string required Value stored for the custom field; MantisBT accepts scalar field values.
    schedule object required
    frequency string required Schedule frequency. manual daily weekly monthly annually
    hour integer Local execution hour for non-manual schedules.
    interval integer Frequency interval when applicable.
    dow integer Weekly day, where 0 is Sunday.
    day integer Monthly or annual day.
    month integer Annual month.
    occurrence integer required Maximum successful executions; 0 means unlimited.
    counter integer required Number of executions recorded.
    created_at string required Creation timestamp as returned by MantisBT.
    updated_at string required Last update timestamp as returned by MantisBT.
    formatted_schedule string Optional human-readable schedule supplied by presentation code.
    last_executed string Optional last execution timestamp.
    last_result string Optional last execution result.
    pagination object required
    page integer required
    per_page integer required
    total integer required
    total_pages integer required
    has_prev boolean required
    has_next boolean required
    {
        "tasks": [
            {
                "id": 1,
                "name": "string",
                "owner_id": 1,
                "scope": 0,
                "project_id": 1,
                "reporter_id": 1,
                "reporter": [],
                "enabled": 0,
                "template": {
                    "project": {
                        "id": 1
                    },
                    "handler": {
                        "id": 1
                    },
                    "summary": "string",
                    "description": "string",
                    "view_state": {
                        "id": 1
                    },
                    "category": {
                        "id": 1
                    },
                    "custom_fields": [
                        {
                            "field": "string",
                            "value": "string"
                        }
                    ]
                },
                "schedule": {
                    "frequency": "manual",
                    "hour": 1,
                    "interval": 1,
                    "dow": 1,
                    "day": 1,
                    "month": 1
                },
                "occurrence": 1,
                "counter": 1,
                "created_at": "string",
                "updated_at": "string",
                "formatted_schedule": "string",
                "last_executed": "string",
                "last_result": "string"
            }
        ],
        "pagination": {
            "page": 1,
            "per_page": 1,
            "total": 1,
            "total_pages": 1,
            "has_prev": true,
            "has_next": true
        }
    }
  • 400 Invalid ID, payload, frequency, or schedule field.
    message string Human-readable validation or access error.
    code integer MantisBT error code when supplied.
    localized string Localized error text when supplied.
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or the supplied token is invalid.
    message string Human-readable validation or access error.
    code integer MantisBT error code when supplied.
    localized string Localized error text when supplied.
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user cannot view, create, update, delete, or trigger this task.
    message string Human-readable validation or access error.
    code integer MantisBT error code when supplied.
    localized string Localized error text when supplied.
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The task or project does not exist.
    message string Human-readable validation or access error.
    code integer MantisBT error code when supplied.
    localized string Localized error text when supplied.
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/RecurringTasks/projects/1/tasks
POST /plugins/RecurringTasks/projects/{project_id}/tasks #

Create a project recurring task (named route)

Same operation as POST /{project_id}/tasks; this named path is retained as a compatibility alias.

Parameters

Name In Type Description
project_id required path integer · int32 Numeric ID of the project whose tasks are read or created.

Responses

  • 200 Task created; the response contains its new numeric ID.
    id integer required Created or updated recurring task ID.
    {
        "id": 1
    }
  • 400 Invalid ID, payload, frequency, or schedule field.
    message string Human-readable validation or access error.
    code integer MantisBT error code when supplied.
    localized string Localized error text when supplied.
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or the supplied token is invalid.
    message string Human-readable validation or access error.
    code integer MantisBT error code when supplied.
    localized string Localized error text when supplied.
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user cannot view, create, update, delete, or trigger this task.
    message string Human-readable validation or access error.
    code integer MantisBT error code when supplied.
    localized string Localized error text when supplied.
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The task or project does not exist.
    message string Human-readable validation or access error.
    code integer MantisBT error code when supplied.
    localized string Localized error text when supplied.
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X POST \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/RecurringTasks/projects/1/tasks \
  -d '"string"'
Request body · application/json
"string"
GET /plugins/RecurringTasks/tasks #

List the current user's personal tasks

Returns personal recurring tasks owned by the authenticated user. The endpoint always returns the pagination envelope used by this route: tasks contains the current page and pagination describes the clamped page and page size.

Parameters

Name In Type Description
page query integer One-based page number. Values below 1 are treated as 1.
per_page query integer Number of tasks per page; the implementation clamps this to 1–100.

Responses

  • 200 Personal tasks and pagination metadata.
    tasks object[] required
    id integer required Recurring task ID.
    name string required Display name.
    owner_id integer required User who owns the task.
    scope integer required 0 for personal, 1 for project scope. 0 1
    project_id integer required Associated project ID.
    reporter_id integer required Reporter ID used when creating issues.
    reporter object Reporter account reference when populated by the surrounding API layer.
    enabled integer required Whether the task can execute; responses serialize this database flag as 0 or 1. 0 1
    template object required
    project object required
    id integer required MantisBT object ID.
    handler object required
    id integer required MantisBT object ID.
    summary string required Issue summary template.
    description string required Issue description template.
    view_state object required
    id integer required MantisBT object ID.
    category object required
    id integer required MantisBT object ID.
    custom_fields object[]
    field string required
    value string required Value stored for the custom field; MantisBT accepts scalar field values.
    schedule object required
    frequency string required Schedule frequency. manual daily weekly monthly annually
    hour integer Local execution hour for non-manual schedules.
    interval integer Frequency interval when applicable.
    dow integer Weekly day, where 0 is Sunday.
    day integer Monthly or annual day.
    month integer Annual month.
    occurrence integer required Maximum successful executions; 0 means unlimited.
    counter integer required Number of executions recorded.
    created_at string required Creation timestamp as returned by MantisBT.
    updated_at string required Last update timestamp as returned by MantisBT.
    formatted_schedule string Optional human-readable schedule supplied by presentation code.
    last_executed string Optional last execution timestamp.
    last_result string Optional last execution result.
    pagination object required
    page integer required
    per_page integer required
    total integer required
    total_pages integer required
    has_prev boolean required
    has_next boolean required
    {
        "tasks": [
            {
                "id": 1,
                "name": "string",
                "owner_id": 1,
                "scope": 0,
                "project_id": 1,
                "reporter_id": 1,
                "reporter": [],
                "enabled": 0,
                "template": {
                    "project": {
                        "id": 1
                    },
                    "handler": {
                        "id": 1
                    },
                    "summary": "string",
                    "description": "string",
                    "view_state": {
                        "id": 1
                    },
                    "category": {
                        "id": 1
                    },
                    "custom_fields": [
                        {
                            "field": "string",
                            "value": "string"
                        }
                    ]
                },
                "schedule": {
                    "frequency": "manual",
                    "hour": 1,
                    "interval": 1,
                    "dow": 1,
                    "day": 1,
                    "month": 1
                },
                "occurrence": 1,
                "counter": 1,
                "created_at": "string",
                "updated_at": "string",
                "formatted_schedule": "string",
                "last_executed": "string",
                "last_result": "string"
            }
        ],
        "pagination": {
            "page": 1,
            "per_page": 1,
            "total": 1,
            "total_pages": 1,
            "has_prev": true,
            "has_next": true
        }
    }
  • 401 Authentication is required or the supplied token is invalid.
    message string Human-readable validation or access error.
    code integer MantisBT error code when supplied.
    localized string Localized error text when supplied.
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user cannot view, create, update, delete, or trigger this task.
    message string Human-readable validation or access error.
    code integer MantisBT error code when supplied.
    localized string Localized error text when supplied.
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/RecurringTasks/tasks
GET /plugins/RecurringTasks/{id} #

Get a recurring task

Returns a task visible to the authenticated user. The plugin converts stored UTC schedule values to the schedule user's local time and removes custom fields that are no longer valid for the project.

Parameters

Name In Type Description
id required path integer · int32 Positive numeric ID of the recurring task.

Responses

  • 200 The recurring task.
    id integer required Recurring task ID.
    name string required Display name.
    owner_id integer required User who owns the task.
    scope integer required 0 for personal, 1 for project scope. 0 1
    project_id integer required Associated project ID.
    reporter_id integer required Reporter ID used when creating issues.
    reporter object Reporter account reference when populated by the surrounding API layer.
    enabled integer required Whether the task can execute; responses serialize this database flag as 0 or 1. 0 1
    template object required
    project object required
    id integer required MantisBT object ID.
    handler object required
    id integer required MantisBT object ID.
    summary string required Issue summary template.
    description string required Issue description template.
    view_state object required
    id integer required MantisBT object ID.
    category object required
    id integer required MantisBT object ID.
    custom_fields object[]
    field string required
    value string required Value stored for the custom field; MantisBT accepts scalar field values.
    schedule object required
    frequency string required Schedule frequency. manual daily weekly monthly annually
    hour integer Local execution hour for non-manual schedules.
    interval integer Frequency interval when applicable.
    dow integer Weekly day, where 0 is Sunday.
    day integer Monthly or annual day.
    month integer Annual month.
    occurrence integer required Maximum successful executions; 0 means unlimited.
    counter integer required Number of executions recorded.
    created_at string required Creation timestamp as returned by MantisBT.
    updated_at string required Last update timestamp as returned by MantisBT.
    formatted_schedule string Optional human-readable schedule supplied by presentation code.
    last_executed string Optional last execution timestamp.
    last_result string Optional last execution result.
    {
        "id": 1,
        "name": "string",
        "owner_id": 1,
        "scope": 0,
        "project_id": 1,
        "reporter_id": 1,
        "reporter": [],
        "enabled": 0,
        "template": {
            "project": {
                "id": 1
            },
            "handler": {
                "id": 1
            },
            "summary": "string",
            "description": "string",
            "view_state": {
                "id": 1
            },
            "category": {
                "id": 1
            },
            "custom_fields": [
                {
                    "field": "string",
                    "value": "string"
                }
            ]
        },
        "schedule": {
            "frequency": "manual",
            "hour": 1,
            "interval": 1,
            "dow": 1,
            "day": 1,
            "month": 1
        },
        "occurrence": 1,
        "counter": 1,
        "created_at": "string",
        "updated_at": "string",
        "formatted_schedule": "string",
        "last_executed": "string",
        "last_result": "string"
    }
  • 400 Invalid ID, payload, frequency, or schedule field.
    message string Human-readable validation or access error.
    code integer MantisBT error code when supplied.
    localized string Localized error text when supplied.
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or the supplied token is invalid.
    message string Human-readable validation or access error.
    code integer MantisBT error code when supplied.
    localized string Localized error text when supplied.
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user cannot view, create, update, delete, or trigger this task.
    message string Human-readable validation or access error.
    code integer MantisBT error code when supplied.
    localized string Localized error text when supplied.
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The task or project does not exist.
    message string Human-readable validation or access error.
    code integer MantisBT error code when supplied.
    localized string Localized error text when supplied.
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/RecurringTasks/1
PUT /plugins/RecurringTasks/{id} #

Update a recurring task

Updates an existing task. Fields omitted from the flat payload retain their current values. The operation can move a task between projects or convert its personal/project scope when the caller has the required permissions; project_id must still identify an enabled project.

Parameters

Name In Type Description
id required path integer · int32 Positive numeric ID of the recurring task.

Responses

  • 200 Task updated; the response contains its numeric ID.
    id integer required Created or updated recurring task ID.
    {
        "id": 1
    }
  • 400 Invalid ID, payload, frequency, or schedule field.
    message string Human-readable validation or access error.
    code integer MantisBT error code when supplied.
    localized string Localized error text when supplied.
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or the supplied token is invalid.
    message string Human-readable validation or access error.
    code integer MantisBT error code when supplied.
    localized string Localized error text when supplied.
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user cannot view, create, update, delete, or trigger this task.
    message string Human-readable validation or access error.
    code integer MantisBT error code when supplied.
    localized string Localized error text when supplied.
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The task or project does not exist.
    message string Human-readable validation or access error.
    code integer MantisBT error code when supplied.
    localized string Localized error text when supplied.
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X PUT \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/RecurringTasks/1 \
  -d '"string"'
Request body · application/json
"string"
DELETE /plugins/RecurringTasks/{id} #

Delete a recurring task

Deletes the task and its execution history. A task belonging to a deleted project may still be removed for cleanup.

Parameters

Name In Type Description
id required path integer · int32 Positive numeric ID of the recurring task.

Responses

  • 204 Task deleted; the response has no body.
  • 400 Invalid ID, payload, frequency, or schedule field.
    message string Human-readable validation or access error.
    code integer MantisBT error code when supplied.
    localized string Localized error text when supplied.
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or the supplied token is invalid.
    message string Human-readable validation or access error.
    code integer MantisBT error code when supplied.
    localized string Localized error text when supplied.
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user cannot view, create, update, delete, or trigger this task.
    message string Human-readable validation or access error.
    code integer MantisBT error code when supplied.
    localized string Localized error text when supplied.
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The task or project does not exist.
    message string Human-readable validation or access error.
    code integer MantisBT error code when supplied.
    localized string Localized error text when supplied.
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X DELETE \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/RecurringTasks/1
POST /plugins/RecurringTasks/{id}/trigger #

Trigger a recurring task

Executes an enabled task immediately using its saved issue template. A successful execution creates an issue and advances the counter; when the configured repeat limit is reached, the task is disabled. Failures are recorded in task history and may also disable the task when its reporter is no longer valid.

Parameters

Name In Type Description
id required path integer · int32 Positive numeric ID of the recurring task.

Responses

  • 204 Trigger accepted and completed without a response body.
  • 400 Invalid ID, payload, frequency, or schedule field.
    message string Human-readable validation or access error.
    code integer MantisBT error code when supplied.
    localized string Localized error text when supplied.
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or the supplied token is invalid.
    message string Human-readable validation or access error.
    code integer MantisBT error code when supplied.
    localized string Localized error text when supplied.
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user cannot view, create, update, delete, or trigger this task.
    message string Human-readable validation or access error.
    code integer MantisBT error code when supplied.
    localized string Localized error text when supplied.
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The task or project does not exist.
    message string Human-readable validation or access error.
    code integer MantisBT error code when supplied.
    localized string Localized error text when supplied.
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X POST \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/RecurringTasks/1/trigger
GET /plugins/RecurringTasks/{project_id}/tasks #

List tasks for a project

Lists tasks visible to the authenticated user for a project. By default it includes both project-scope tasks and the caller's personal tasks for that project. Results are sorted by task name and returned in a pagination envelope. Project ID 0 is not a valid project; the implementation also supports MantisBT's all-projects sentinel where applicable.

Parameters

Name In Type Description
project_id required path integer · int32 Numeric project ID, or `0` (`ALL_PROJECTS`) to list tasks across accessible projects.
page query integer One-based page number. Values below 1 are treated as 1.
per_page query integer Number of tasks per page; the implementation clamps this to 1–100.

Responses

  • 200 Visible project tasks and pagination metadata.
    tasks object[] required
    id integer required Recurring task ID.
    name string required Display name.
    owner_id integer required User who owns the task.
    scope integer required 0 for personal, 1 for project scope. 0 1
    project_id integer required Associated project ID.
    reporter_id integer required Reporter ID used when creating issues.
    reporter object Reporter account reference when populated by the surrounding API layer.
    enabled integer required Whether the task can execute; responses serialize this database flag as 0 or 1. 0 1
    template object required
    project object required
    id integer required MantisBT object ID.
    handler object required
    id integer required MantisBT object ID.
    summary string required Issue summary template.
    description string required Issue description template.
    view_state object required
    id integer required MantisBT object ID.
    category object required
    id integer required MantisBT object ID.
    custom_fields object[]
    field string required
    value string required Value stored for the custom field; MantisBT accepts scalar field values.
    schedule object required
    frequency string required Schedule frequency. manual daily weekly monthly annually
    hour integer Local execution hour for non-manual schedules.
    interval integer Frequency interval when applicable.
    dow integer Weekly day, where 0 is Sunday.
    day integer Monthly or annual day.
    month integer Annual month.
    occurrence integer required Maximum successful executions; 0 means unlimited.
    counter integer required Number of executions recorded.
    created_at string required Creation timestamp as returned by MantisBT.
    updated_at string required Last update timestamp as returned by MantisBT.
    formatted_schedule string Optional human-readable schedule supplied by presentation code.
    last_executed string Optional last execution timestamp.
    last_result string Optional last execution result.
    pagination object required
    page integer required
    per_page integer required
    total integer required
    total_pages integer required
    has_prev boolean required
    has_next boolean required
    {
        "tasks": [
            {
                "id": 1,
                "name": "string",
                "owner_id": 1,
                "scope": 0,
                "project_id": 1,
                "reporter_id": 1,
                "reporter": [],
                "enabled": 0,
                "template": {
                    "project": {
                        "id": 1
                    },
                    "handler": {
                        "id": 1
                    },
                    "summary": "string",
                    "description": "string",
                    "view_state": {
                        "id": 1
                    },
                    "category": {
                        "id": 1
                    },
                    "custom_fields": [
                        {
                            "field": "string",
                            "value": "string"
                        }
                    ]
                },
                "schedule": {
                    "frequency": "manual",
                    "hour": 1,
                    "interval": 1,
                    "dow": 1,
                    "day": 1,
                    "month": 1
                },
                "occurrence": 1,
                "counter": 1,
                "created_at": "string",
                "updated_at": "string",
                "formatted_schedule": "string",
                "last_executed": "string",
                "last_result": "string"
            }
        ],
        "pagination": {
            "page": 1,
            "per_page": 1,
            "total": 1,
            "total_pages": 1,
            "has_prev": true,
            "has_next": true
        }
    }
  • 400 Invalid ID, payload, frequency, or schedule field.
    message string Human-readable validation or access error.
    code integer MantisBT error code when supplied.
    localized string Localized error text when supplied.
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or the supplied token is invalid.
    message string Human-readable validation or access error.
    code integer MantisBT error code when supplied.
    localized string Localized error text when supplied.
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user cannot view, create, update, delete, or trigger this task.
    message string Human-readable validation or access error.
    code integer MantisBT error code when supplied.
    localized string Localized error text when supplied.
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The task or project does not exist.
    message string Human-readable validation or access error.
    code integer MantisBT error code when supplied.
    localized string Localized error text when supplied.
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X GET \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/RecurringTasks/1/tasks
POST /plugins/RecurringTasks/{project_id}/tasks #

Create a project recurring task

Creates a project-scope recurring task. The path project is copied into the request payload and the scope defaults to project when omitted. The caller must have the configured project-task permission.

Parameters

Name In Type Description
project_id required path integer · int32 Numeric ID of the project whose tasks are read or created.

Responses

  • 200 Task created; the response contains its new numeric ID.
    id integer required Created or updated recurring task ID.
    {
        "id": 1
    }
  • 400 Invalid ID, payload, frequency, or schedule field.
    message string Human-readable validation or access error.
    code integer MantisBT error code when supplied.
    localized string Localized error text when supplied.
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 401 Authentication is required or the supplied token is invalid.
    message string Human-readable validation or access error.
    code integer MantisBT error code when supplied.
    localized string Localized error text when supplied.
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 403 The authenticated user cannot view, create, update, delete, or trigger this task.
    message string Human-readable validation or access error.
    code integer MantisBT error code when supplied.
    localized string Localized error text when supplied.
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
  • 404 The task or project does not exist.
    message string Human-readable validation or access error.
    code integer MantisBT error code when supplied.
    localized string Localized error text when supplied.
    {
        "message": "string",
        "code": 1,
        "localized": "string"
    }
cURL
curl -X POST \
  -H "Authorization: Bearer $MANTIS_TOKEN" \
  -H "Content-Type: application/json" \
  https://yourmantishubname.mantishub.io/api/rest/plugins/RecurringTasks/1/tasks \
  -d '"string"'
Request body · application/json
"string"