View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0025229 | mantisbt | api rest | public | 2019-01-16 07:23 | 2022-08-22 12:01 |
Reporter | rombert | Assigned To | |||
Priority | normal | Severity | minor | Reproducibility | always |
Status | new | Resolution | open | ||
Product Version | 2.19.0 | ||||
Summary | 0025229: swagger.json does not document /project functions | ||||
Description | Projects can now be managed through the REST API ( 0024622, 0024636, 0024624 ) but this is not reflected in the swagger docs. | ||||
Tags | No tags attached. | ||||
And as I see, /issues/:issue_id/files and /issues/:issue_id/notes is missing, too. |
|
swagger.json (16,445 bytes)
{ "swagger": "2.0", "info": { "title": "MantisBT REST API", "description": "For the sandbox to work, MantisBT must be hosted at the root folder of the host. For example: http://mantishost/ rather http://host/mantisbt. If that is not the case, then create a host alias to map it as such or edit swagger.json to change basePath to include the mantisbt folder name.", "version": "1.0.0" }, "schemes": [ "http", "https" ], "produces": [ "application/json" ], "basePath": "/api/rest", "paths": { "/issues": { "get": { "summary": "Get issue details", "tags": [ "Issues" ], "operationId": "issueGet", "parameters": [ { "name": "id", "in": "query", "description": "The issue id.", "required": true, "type": "number", "format": "int64" } ], "responses": { "200": { "description": "Success with issue details", "schema": { "$ref": "#/definitions/CreateIssueResponse" } }, "403": { "description": "Access denied" }, "503": { "description": "Mantis Offline" } } }, "post": { "summary": "Create an issue", "tags": [ "Issues" ], "operationId": "issueAdd", "parameters": [ { "name": "body", "in": "body", "description": "The issue to add.", "required": true, "schema": { "$ref": "#/definitions/Issue" } } ], "responses": { "201": { "description": "Issue successfully created" }, "403": { "description": "Access denied" }, "503": { "description": "Mantis Offline" } } }, "delete": { "summary": "Delete an issue", "tags": [ "Issues" ], "operationId": "issueDelete", "parameters": [ { "name": "id", "in": "query", "description": "The issue id.", "required": true, "type": "number", "format": "int64" } ], "responses": { "204": { "description": "Issue deleted successfully" }, "403": { "description": "Access denied" }, "404": { "description": "Issue doesn't exist" }, "503": { "description": "Mantis Offline" } } } }, "/issues/:id/notes": { "get": { "summary": "Get note details", "tags": [ "Issues", "Notes" ], "operationId": "issueNoteGet", "parameters": [ { "name": "id", "in": "query", "description": "The issue id.", "required": true, "type": "number", "format": "int64" }, { "name": "note_id", "in": "query", "description": "The note id.", "required": true, "type": "number", "format": "int64" } ], "responses": { "200": { "description": "Success with note details", "schema": { "$ref": "#/definitions/Note" } }, "403": { "description": "Access denied" }, "503": { "description": "Mantis Offline" } } }, "delete": { "summary": "Delete a note", "tags": [ "Issues", "Notes" ], "operationId": "issueNoteDelete", "parameters": [ { "name": "id", "in": "query", "description": "The issue id.", "required": true, "type": "number", "format": "int64" }, { "name": "note_id", "in": "query", "description": "The note id.", "required": true, "type": "number", "format": "int64" } ], "responses": { "204": { "description": "Note deleted successfully" }, "403": { "description": "Access denied" }, "404": { "description": "Issue or note doesn't exist" }, "503": { "description": "Mantis Offline" } } }, "post": { "summary": "Create a note", "tags": [ "Issues", "Notes" ], "operationId": "issueNoteAdd", "parameters": [ { "name": "body", "in": "body", "description": "The note to add.", "required": true, "schema": { "$ref": "#/definitions/CreateNoteResponse" } } ], "responses": { "201": { "description": "Note successfully created" }, "403": { "description": "Access denied" }, "503": { "description": "Mantis Offline" } } } }, "/issues/:id/files": { "get": { "summary": "Get file details", "tags": [ "Issues", "Files" ], "operationId": "issueFileGet", "parameters": [ { "name": "id", "in": "query", "description": "The issue id.", "required": true, "type": "number", "format": "int64" }, { "name": "file_id", "in": "query", "description": "The file id.", "required": true, "type": "number", "format": "int64" } ], "responses": { "200": { "description": "Success with file details", "schema": { "$ref": "#/definitions/FileRef" } }, "403": { "description": "Access denied" }, "503": { "description": "Mantis Offline" } } }, "delete": { "summary": "Delete a file", "tags": [ "Issues", "Files" ], "operationId": "issueFileDelete", "parameters": [ { "name": "id", "in": "query", "description": "The issue id.", "required": true, "type": "number", "format": "int64" }, { "name": "file_id", "in": "query", "description": "The file id.", "required": true, "type": "number", "format": "int64" } ], "responses": { "204": { "description": "File deleted successfully" }, "403": { "description": "Access denied" }, "404": { "description": "Issue or file doesn't exist" }, "503": { "description": "Mantis Offline" } } } }, "/config": { "get": { "summary": "Get config options", "description": "Get the value for a set of configuration options given a user and project context. If a configuration option is invalid or is marked as private, then they will be filtered out, but request will still succeed.", "tags": [ "Config" ], "operationId": "configGet", "parameters": [ { "name": "option", "in": "query", "description": "An array of configuration options.", "required": true, "type": "array", "items": { "type": "string" } }, { "name": "project_id", "in": "query", "description": "The project id (default All Projects).", "required": false, "type": "number", "format": "int64" }, { "name": "user_id", "in": "query", "description": "The user id (default is logged in user). This can only be set by users with access level ADMINISTRATOR.", "required": false, "type": "number", "format": "int64" } ], "responses": { "200": { "description": "Success", "schema": { "$ref": "#/definitions/ConfigGetResponse" } }, "403": { "description": "Access denied" }, "404": { "description": "User or Project not found" }, "503": { "description": "Mantis Offline" } } } }, "/lang": { "get": { "summary": "Get localized strings", "description": "Gets a set of localized strings in context of the logged in user's language. If a localized string is not defined, then it will be filtered out.", "tags": [ "Localization" ], "operationId": "langGet", "parameters": [ { "name": "string", "in": "query", "description": "An array of localized labels given their name string lang/strings_english.txt folder in MantisBT. The name doesn't include $s_ prefix.", "required": true, "type": "array", "items": { "type": "string" } } ], "responses": { "200": { "description": "Success", "schema": { "$ref": "#/definitions/LangGetResponse" } }, "403": { "description": "Access denied" }, "503": { "description": "Mantis Offline" } } } }, "/users/me": { "get": { "summary": "Get information about logged in user", "description": "Gets information about logged in user.", "tags": [ "Users" ], "operationId": "userGetMe", "responses": { "200": { "description": "Success", "schema": { "$ref": "#/definitions/UserMeResponse" } }, "403": { "description": "Access denied" }, "503": { "description": "Mantis Offline" } } } }, "/users/reset": { "put": { "summary": "Reset user's password", "description": "Reset the user's password", "tags": [ "Users" ], "operationId": "userResetPassword", "responses": { "200": { "description": "Success" }, "403": { "description": "Access denied" }, "503": { "description": "Mantis Offline" } } } } }, "security": [ { "Authorization": [] } ], "securityDefinitions": { "Authorization": { "type": "apiKey", "name": "Authorization", "in": "header" } }, "definitions": { "Issue": { "type": "object", "required": [ "summary", "description" ], "properties": { "id": { "type": "integer", "format": "int64" }, "summary": { "type": "string" }, "reporter": { "$ref": "#/definitions/AccountRef" }, "handler": { "$ref": "#/definitions/AccountRef" }, "description": { "type": "string" } } }, "Note": { "type": "object", "required": [ "text" ], "properties": { "id": { "type": "integer", "format": "int64" }, "reporter": { "$ref": "#/definitions/AccountRef" }, "text": { "type": "string" }, "view_state": { "$ref": "#/definitions/ViewStateRef" }, "time_tracking": { "$ref": "#/definitions/TimeTrackingRef" }, "attachments": { "type": "array", "items": { "$ref": "#/definitions/FileRef" } }, "type": { "type": "string" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" } } }, "FileRef": { "type": "object", "properties": { "name": { "type": "string" }, "content": { "type": "string", "format": "byte" } } }, "TimeTrackingRef": { "type": "object", "properties": { "duration": { "type": "string" } } }, "ViewStateRef": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "name": { "type": "string" }, "label": { "type": "string" } } }, "AccountRef": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "name": { "type": "string" }, "email": { "type": "string" }, "realname": { "type": "string" } } }, "ProjectRef": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "name": { "type": "string" }, "description": { "type": "string" }, "enabled": { "type": "boolean" } } }, "EnumRef": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "name": { "type": "string" } } }, "UserMeResponse": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "name": { "type": "string" }, "email": { "type": "string" }, "language": { "type": "string" }, "timezone": { "type": "string" }, "access_level": { "$ref": "#/definitions/EnumRef" }, "projects": { "type": "array", "items": { "$ref": "#/definitions/ProjectRef" } } } }, "ConfigGetResponse": { "type": "object", "properties": { "configs": { "type": "array", "items": { "$ref": "#/definitions/ConfigOption" } } } }, "ConfigOption": { "type": "object", "properties": { "option": { "type": "string" }, "value": {} } }, "LangGetResponse": { "type": "object", "properties": { "language": { "type": "string" }, "strings": { "type": "array", "items": { "$ref": "#/definitions/LocalizedString" } } } }, "LocalizedString": { "type": "object", "properties": { "name": { "type": "string" }, "localized": { "type": "string" } } }, "CreateIssueResponse": { "type": "object", "properties": { "issues": { "$ref": "#/definitions/Issue" } } }, "CreateNoteResponse": { "type": "object", "properties": { "issue": { "$ref": "#/definitions/Issue" }, "note": { "$ref": "#/definitions/Note" } } } } } |
|
openapi_3.json (20,865 bytes)
{ "openapi": "3.0.1", "info": { "title": "MantisBT REST API", "description": "For the sandbox to work, MantisBT must be hosted at the root folder of the host. For example: http://mantishost/ rather http://host/mantisbt. If that is not the case, then create a host alias to map it as such or edit swagger.json to change basePath to include the mantisbt folder name.", "version": "1.0.0" }, "servers": [ { "url": "/api/rest" } ], "security": [ { "Authorization": [] } ], "paths": { "/issues": { "get": { "tags": [ "Issues" ], "summary": "Get issue details", "operationId": "issueGet", "parameters": [ { "name": "id", "in": "query", "description": "The issue id.", "required": true, "schema": { "type": "number", "format": "int64" } } ], "responses": { "200": { "description": "Success with issue details", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateIssueResponse" } } } }, "403": { "description": "Access denied", "content": {} }, "503": { "description": "Mantis Offline", "content": {} } } }, "post": { "tags": [ "Issues" ], "summary": "Create an issue", "operationId": "issueAdd", "requestBody": { "description": "The issue to add.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Issue" } } }, "required": true }, "responses": { "201": { "description": "Issue successfully created", "content": {} }, "403": { "description": "Access denied", "content": {} }, "503": { "description": "Mantis Offline", "content": {} } }, "x-codegen-request-body-name": "body" }, "delete": { "tags": [ "Issues" ], "summary": "Delete an issue", "operationId": "issueDelete", "parameters": [ { "name": "id", "in": "query", "description": "The issue id.", "required": true, "schema": { "type": "number", "format": "int64" } } ], "responses": { "204": { "description": "Issue deleted successfully", "content": {} }, "403": { "description": "Access denied", "content": {} }, "404": { "description": "Issue doesn't exist", "content": {} }, "503": { "description": "Mantis Offline", "content": {} } } } }, "/issues/:id/notes": { "get": { "tags": [ "Issues", "Notes" ], "summary": "Get note details", "operationId": "issueNoteGet", "parameters": [ { "name": "id", "in": "query", "description": "The issue id.", "required": true, "schema": { "type": "number", "format": "int64" } }, { "name": "note_id", "in": "query", "description": "The note id.", "required": true, "schema": { "type": "number", "format": "int64" } } ], "responses": { "200": { "description": "Success with note details", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Note" } } } }, "403": { "description": "Access denied", "content": {} }, "503": { "description": "Mantis Offline", "content": {} } } }, "post": { "tags": [ "Issues", "Notes" ], "summary": "Create a note", "operationId": "issueNoteAdd", "requestBody": { "description": "The note to add.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CreateNoteResponse" } } }, "required": true }, "responses": { "201": { "description": "Note successfully created", "content": {} }, "403": { "description": "Access denied", "content": {} }, "503": { "description": "Mantis Offline", "content": {} } }, "x-codegen-request-body-name": "body" }, "delete": { "tags": [ "Issues", "Notes" ], "summary": "Delete a note", "operationId": "issueNoteDelete", "parameters": [ { "name": "id", "in": "query", "description": "The issue id.", "required": true, "schema": { "type": "number", "format": "int64" } }, { "name": "note_id", "in": "query", "description": "The note id.", "required": true, "schema": { "type": "number", "format": "int64" } } ], "responses": { "204": { "description": "Note deleted successfully", "content": {} }, "403": { "description": "Access denied", "content": {} }, "404": { "description": "Issue or note doesn't exist", "content": {} }, "503": { "description": "Mantis Offline", "content": {} } } } }, "/issues/:id/files": { "get": { "tags": [ "Issues", "Files" ], "summary": "Get file details", "operationId": "issueFileGet", "parameters": [ { "name": "id", "in": "query", "description": "The issue id.", "required": true, "schema": { "type": "number", "format": "int64" } }, { "name": "file_id", "in": "query", "description": "The file id.", "required": true, "schema": { "type": "number", "format": "int64" } } ], "responses": { "200": { "description": "Success with file details", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/FileRef" } } } }, "403": { "description": "Access denied", "content": {} }, "503": { "description": "Mantis Offline", "content": {} } } }, "post": { "tags": [ "Issues", "Files" ], "summary": "Attach a file to an issue", "operationId": "issueAddFile", "parameters": [ { "name": "id", "in": "query", "description": "The issue to attach to.", "required": true, "schema": { "type": "number", "format": "int64" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/AddFileRequest" } } }, "required": true }, "responses": { "201": { "description": "File successfully attached", "content": {} }, "403": { "description": "Access denied", "content": {} }, "503": { "description": "Mantis Offline", "content": {} } }, "x-codegen-request-body-name": "files" }, "delete": { "tags": [ "Issues", "Files" ], "summary": "Delete a file", "operationId": "issueFileDelete", "parameters": [ { "name": "id", "in": "query", "description": "The issue id.", "required": true, "schema": { "type": "number", "format": "int64" } }, { "name": "file_id", "in": "query", "description": "The file id.", "required": true, "schema": { "type": "number", "format": "int64" } } ], "responses": { "204": { "description": "File deleted successfully", "content": {} }, "403": { "description": "Access denied", "content": {} }, "404": { "description": "Issue or file doesn't exist", "content": {} }, "503": { "description": "Mantis Offline", "content": {} } } } }, "/config": { "get": { "tags": [ "Config" ], "summary": "Get config options", "description": "Get the value for a set of configuration options given a user and project context. If a configuration option is invalid or is marked as private, then they will be filtered out, but request will still succeed.", "operationId": "configGet", "parameters": [ { "name": "option", "in": "query", "description": "An array of configuration options.", "required": true, "style": "form", "explode": false, "schema": { "type": "array", "items": { "type": "string" } } }, { "name": "project_id", "in": "query", "description": "The project id (default All Projects).", "schema": { "type": "number", "format": "int64" } }, { "name": "user_id", "in": "query", "description": "The user id (default is logged in user). This can only be set by users with access level ADMINISTRATOR.", "schema": { "type": "number", "format": "int64" } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ConfigGetResponse" } } } }, "403": { "description": "Access denied", "content": {} }, "404": { "description": "User or Project not found", "content": {} }, "503": { "description": "Mantis Offline", "content": {} } } } }, "/lang": { "get": { "tags": [ "Localization" ], "summary": "Get localized strings", "description": "Gets a set of localized strings in context of the logged in user's language. If a localized string is not defined, then it will be filtered out.", "operationId": "langGet", "parameters": [ { "name": "string", "in": "query", "description": "An array of localized labels given their name string lang/strings_english.txt folder in MantisBT. The name doesn't include $s_ prefix.", "required": true, "style": "form", "explode": false, "schema": { "type": "array", "items": { "type": "string" } } } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/LangGetResponse" } } } }, "403": { "description": "Access denied", "content": {} }, "503": { "description": "Mantis Offline", "content": {} } } } }, "/users/me": { "get": { "tags": [ "Users" ], "summary": "Get information about logged in user", "description": "Gets information about logged in user.", "operationId": "userGetMe", "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/UserMeResponse" } } } }, "403": { "description": "Access denied", "content": {} }, "503": { "description": "Mantis Offline", "content": {} } } } }, "/users/reset": { "put": { "tags": [ "Users" ], "summary": "Reset user's password", "description": "Reset the user's password", "operationId": "userResetPassword", "responses": { "200": { "description": "Success", "content": {} }, "403": { "description": "Access denied", "content": {} }, "503": { "description": "Mantis Offline", "content": {} } } } } }, "components": { "schemas": { "Issue": { "required": [ "description", "summary" ], "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "summary": { "type": "string" }, "reporter": { "$ref": "#/components/schemas/AccountRef" }, "handler": { "$ref": "#/components/schemas/AccountRef" }, "description": { "type": "string" } } }, "Note": { "required": [ "text" ], "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "reporter": { "$ref": "#/components/schemas/AccountRef" }, "text": { "type": "string" }, "view_state": { "$ref": "#/components/schemas/ViewStateRef" }, "time_tracking": { "$ref": "#/components/schemas/TimeTrackingRef" }, "attachments": { "type": "array", "items": { "$ref": "#/components/schemas/FileRef" } }, "type": { "type": "string" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" } } }, "FileRef": { "type": "object", "properties": { "name": { "type": "string" }, "content": { "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$", "type": "string", "format": "byte" } } }, "TimeTrackingRef": { "type": "object", "properties": { "duration": { "type": "string" } } }, "ViewStateRef": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "name": { "type": "string" }, "label": { "type": "string" } } }, "AccountRef": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "name": { "type": "string" }, "email": { "type": "string" }, "realname": { "type": "string" } } }, "ProjectRef": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "name": { "type": "string" }, "description": { "type": "string" }, "enabled": { "type": "boolean" } } }, "EnumRef": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "name": { "type": "string" } } }, "UserMeResponse": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "name": { "type": "string" }, "email": { "type": "string" }, "language": { "type": "string" }, "timezone": { "type": "string" }, "access_level": { "$ref": "#/components/schemas/EnumRef" }, "projects": { "type": "array", "items": { "$ref": "#/components/schemas/ProjectRef" } } } }, "ConfigGetResponse": { "type": "object", "properties": { "configs": { "type": "array", "items": { "$ref": "#/components/schemas/ConfigOption" } } } }, "ConfigOption": { "type": "object", "properties": { "option": { "type": "string" }, "value": { "type": "object" } } }, "LangGetResponse": { "type": "object", "properties": { "language": { "type": "string" }, "strings": { "type": "array", "items": { "$ref": "#/components/schemas/LocalizedString" } } } }, "LocalizedString": { "type": "object", "properties": { "name": { "type": "string" }, "localized": { "type": "string" } } }, "CreateIssueResponse": { "type": "object", "properties": { "issues": { "$ref": "#/components/schemas/Issue" } } }, "CreateNoteResponse": { "type": "object", "properties": { "issue": { "$ref": "#/components/schemas/Issue" }, "note": { "$ref": "#/components/schemas/Note" } } }, "AddFileRequest": { "type": "object", "properties": { "files": { "type": "array", "items": { "$ref": "#/components/schemas/FileRef" } } } } }, "securitySchemes": { "Authorization": { "type": "apiKey", "name": "Authorization", "in": "header" } } } } swagger-20220822.json (17,388 bytes)
{ "swagger": "2.0", "info": { "title": "MantisBT REST API", "description": "For the sandbox to work, MantisBT must be hosted at the root folder of the host. For example: http://mantishost/ rather http://host/mantisbt. If that is not the case, then create a host alias to map it as such or edit swagger.json to change basePath to include the mantisbt folder name.", "version": "1.0.0" }, "schemes": [ "http", "https" ], "produces": [ "application/json" ], "basePath": "/api/rest", "paths": { "/issues": { "get": { "summary": "Get issue details", "tags": [ "Issues" ], "operationId": "issueGet", "parameters": [ { "name": "id", "in": "query", "description": "The issue id.", "required": true, "type": "number", "format": "int64" } ], "responses": { "200": { "description": "Success with issue details", "schema": { "$ref": "#/definitions/CreateIssueResponse" } }, "403": { "description": "Access denied" }, "503": { "description": "Mantis Offline" } } }, "post": { "summary": "Create an issue", "tags": [ "Issues" ], "operationId": "issueAdd", "parameters": [ { "name": "body", "in": "body", "description": "The issue to add.", "required": true, "schema": { "$ref": "#/definitions/Issue" } } ], "responses": { "201": { "description": "Issue successfully created" }, "403": { "description": "Access denied" }, "503": { "description": "Mantis Offline" } } }, "delete": { "summary": "Delete an issue", "tags": [ "Issues" ], "operationId": "issueDelete", "parameters": [ { "name": "id", "in": "query", "description": "The issue id.", "required": true, "type": "number", "format": "int64" } ], "responses": { "204": { "description": "Issue deleted successfully" }, "403": { "description": "Access denied" }, "404": { "description": "Issue doesn't exist" }, "503": { "description": "Mantis Offline" } } } }, "/issues/:id/notes": { "get": { "summary": "Get note details", "tags": [ "Issues", "Notes" ], "operationId": "issueNoteGet", "parameters": [ { "name": "id", "in": "query", "description": "The issue id.", "required": true, "type": "number", "format": "int64" }, { "name": "note_id", "in": "query", "description": "The note id.", "required": true, "type": "number", "format": "int64" } ], "responses": { "200": { "description": "Success with note details", "schema": { "$ref": "#/definitions/Note" } }, "403": { "description": "Access denied" }, "503": { "description": "Mantis Offline" } } }, "delete": { "summary": "Delete a note", "tags": [ "Issues", "Notes" ], "operationId": "issueNoteDelete", "parameters": [ { "name": "id", "in": "query", "description": "The issue id.", "required": true, "type": "number", "format": "int64" }, { "name": "note_id", "in": "query", "description": "The note id.", "required": true, "type": "number", "format": "int64" } ], "responses": { "204": { "description": "Note deleted successfully" }, "403": { "description": "Access denied" }, "404": { "description": "Issue or note doesn't exist" }, "503": { "description": "Mantis Offline" } } }, "post": { "summary": "Create a note", "tags": [ "Issues", "Notes" ], "operationId": "issueNoteAdd", "parameters": [ { "name": "body", "in": "body", "description": "The note to add.", "required": true, "schema": { "$ref": "#/definitions/CreateNoteResponse" } } ], "responses": { "201": { "description": "Note successfully created" }, "403": { "description": "Access denied" }, "503": { "description": "Mantis Offline" } } } }, "/issues/:id/files": { "get": { "summary": "Get file details", "tags": [ "Issues", "Files" ], "operationId": "issueFileGet", "parameters": [ { "name": "id", "in": "query", "description": "The issue id.", "required": true, "type": "number", "format": "int64" }, { "name": "file_id", "in": "query", "description": "The file id.", "required": true, "type": "number", "format": "int64" } ], "responses": { "200": { "description": "Success with file details", "schema": { "$ref": "#/definitions/FileRef" } }, "403": { "description": "Access denied" }, "503": { "description": "Mantis Offline" } } }, "post": { "summary": "Attach a file to an issue", "tags": [ "Issues", "Files" ], "operationId": "issueAddFile", "parameters": [ { "name": "id", "in": "query", "description": "The issue to attach to.", "required": true, "type": "number", "format": "int64" }, { "name": "files", "in": "body", "required": true, "type": "array", "items": { "$ref": "#/definitions/FileRef" } } ], "responses": { "201": { "description": "File successfully attached" }, "403": { "description": "Access denied" }, "503": { "description": "Mantis Offline" } } }, "delete": { "summary": "Delete a file", "tags": [ "Issues", "Files" ], "operationId": "issueFileDelete", "parameters": [ { "name": "id", "in": "query", "description": "The issue id.", "required": true, "type": "number", "format": "int64" }, { "name": "file_id", "in": "query", "description": "The file id.", "required": true, "type": "number", "format": "int64" } ], "responses": { "204": { "description": "File deleted successfully" }, "403": { "description": "Access denied" }, "404": { "description": "Issue or file doesn't exist" }, "503": { "description": "Mantis Offline" } } } }, "/config": { "get": { "summary": "Get config options", "description": "Get the value for a set of configuration options given a user and project context. If a configuration option is invalid or is marked as private, then they will be filtered out, but request will still succeed.", "tags": [ "Config" ], "operationId": "configGet", "parameters": [ { "name": "option", "in": "query", "description": "An array of configuration options.", "required": true, "type": "array", "items": { "type": "string" } }, { "name": "project_id", "in": "query", "description": "The project id (default All Projects).", "required": false, "type": "number", "format": "int64" }, { "name": "user_id", "in": "query", "description": "The user id (default is logged in user). This can only be set by users with access level ADMINISTRATOR.", "required": false, "type": "number", "format": "int64" } ], "responses": { "200": { "description": "Success", "schema": { "$ref": "#/definitions/ConfigGetResponse" } }, "403": { "description": "Access denied" }, "404": { "description": "User or Project not found" }, "503": { "description": "Mantis Offline" } } } }, "/lang": { "get": { "summary": "Get localized strings", "description": "Gets a set of localized strings in context of the logged in user's language. If a localized string is not defined, then it will be filtered out.", "tags": [ "Localization" ], "operationId": "langGet", "parameters": [ { "name": "string", "in": "query", "description": "An array of localized labels given their name string lang/strings_english.txt folder in MantisBT. The name doesn't include $s_ prefix.", "required": true, "type": "array", "items": { "type": "string" } } ], "responses": { "200": { "description": "Success", "schema": { "$ref": "#/definitions/LangGetResponse" } }, "403": { "description": "Access denied" }, "503": { "description": "Mantis Offline" } } } }, "/users/me": { "get": { "summary": "Get information about logged in user", "description": "Gets information about logged in user.", "tags": [ "Users" ], "operationId": "userGetMe", "responses": { "200": { "description": "Success", "schema": { "$ref": "#/definitions/UserMeResponse" } }, "403": { "description": "Access denied" }, "503": { "description": "Mantis Offline" } } } }, "/users/reset": { "put": { "summary": "Reset user's password", "description": "Reset the user's password", "tags": [ "Users" ], "operationId": "userResetPassword", "responses": { "200": { "description": "Success" }, "403": { "description": "Access denied" }, "503": { "description": "Mantis Offline" } } } } }, "security": [ { "Authorization": [] } ], "securityDefinitions": { "Authorization": { "type": "apiKey", "name": "Authorization", "in": "header" } }, "definitions": { "Issue": { "type": "object", "required": [ "summary", "description" ], "properties": { "id": { "type": "integer", "format": "int64" }, "summary": { "type": "string" }, "reporter": { "$ref": "#/definitions/AccountRef" }, "handler": { "$ref": "#/definitions/AccountRef" }, "description": { "type": "string" } } }, "Note": { "type": "object", "required": [ "text" ], "properties": { "id": { "type": "integer", "format": "int64" }, "reporter": { "$ref": "#/definitions/AccountRef" }, "text": { "type": "string" }, "view_state": { "$ref": "#/definitions/ViewStateRef" }, "time_tracking": { "$ref": "#/definitions/TimeTrackingRef" }, "attachments": { "type": "array", "items": { "$ref": "#/definitions/FileRef" } }, "type": { "type": "string" }, "created_at": { "type": "string", "format": "dateTime" }, "updated_at": { "type": "string", "format": "dateTime" } } }, "FileRef": { "type": "object", "properties": { "name": { "type": "string" }, "content": { "type": "string", "format": "byte" } } }, "TimeTrackingRef": { "type": "object", "properties": { "duration": { "type": "string" } } }, "ViewStateRef": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "name": { "type": "string" }, "label": { "type": "string" } } }, "AccountRef": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "name": { "type": "string" }, "email": { "type": "string" }, "realname": { "type": "string" } } }, "ProjectRef": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "name": { "type": "string" }, "description": { "type": "string" }, "enabled": { "type": "boolean" } } }, "EnumRef": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "name": { "type": "string" } } }, "UserMeResponse": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "name": { "type": "string" }, "email": { "type": "string" }, "language": { "type": "string" }, "timezone": { "type": "string" }, "access_level": { "$ref": "#/definitions/EnumRef" }, "projects": { "type": "array", "items": { "$ref": "#/definitions/ProjectRef" } } } }, "ConfigGetResponse": { "type": "object", "properties": { "configs": { "type": "array", "items": { "$ref": "#/definitions/ConfigOption" } } } }, "ConfigOption": { "type": "object", "properties": { "option": { "type": "string" }, "value": {} } }, "LangGetResponse": { "type": "object", "properties": { "language": { "type": "string" }, "strings": { "type": "array", "items": { "$ref": "#/definitions/LocalizedString" } } } }, "LocalizedString": { "type": "object", "properties": { "name": { "type": "string" }, "localized": { "type": "string" } } }, "CreateIssueResponse": { "type": "object", "properties": { "issues": { "$ref": "#/definitions/Issue" } } }, "CreateNoteResponse": { "type": "object", "properties": { "issue": { "$ref": "#/definitions/Issue" }, "note": { "$ref": "#/definitions/Note" } } } } } |
|
@vboctor you may want to take a look at this while you're on 0030908, and maybe include the proposed changes in your PR https://github.com/mantisbt/mantisbt/pull/1844 |
|