{ "info": { "_postman_id": "9a2f2a35-affa-4cac-b640-ecea22f3133e", "name": "Confluence Data Center", "description": "This is the reference document for the Atlassian Confluence DC REST API. The REST API is for developers who want to: \n\n - integrate Confluence with other applications;\n\n - create scripts that interact with Confluence; or\n\n - develop plugins that enhance the Confluence UI, using REST to interact with the backend. \n\n You can read more about developing Confluence plugins in the [Confluence Developer Documentation](https://developer.atlassian.com/server/confluence/).", "schema": "https://schema.getpostman.com/json/collection/v2.0.0/collection.json" }, "item": [ { "name": "Access Mode", "item": [ { "name": "Get access mode status", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/accessmode", "query": [], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the access mode status for Confluence." }, "response": [] } ] }, { "name": "Admin Group", "item": [ { "name": "Create group", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/admin/group", "query": [], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Creates the given group identified by name.", "body": { "mode": "raw", "raw": "" } }, "response": [] }, { "name": "Delete group", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/admin/group/:groupName", "query": [], "variable": [ { "key": "groupName", "value": "{{groupName}}", "description": "the group name to be deleted", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Deletes the given group identified by name." }, "response": [] } ] }, { "name": "Admin User", "item": [ { "name": "Change password", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/admin/user/:username/password", "query": [], "variable": [ { "key": "username", "value": "{{username}}", "description": "the username identifying the given user", "disabled": false } ] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Change the password for the user identified by the username. \n\n**Validation rules** : \n\n- The new password should not be null or blank. \n\n", "body": { "mode": "raw", "raw": "" } }, "response": [] }, { "name": "Create user", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/admin/user", "query": [], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "One of the following options could be used:\n\n1. Create a user with a specified password. The userName, fullName, email and password needs to be specified.\n\n2. Create a user with an email notification to the user. The userName, fullName, email and notifyViaEmail (true) needs to be specified.\n\n**Requirements**:\n\n- The userName should not be null or blank\n\n- The userName should not contain any of these characters \\ , + ' \"\n\n- The userName should not contain any whitespace characters\n\n- The userName should not be \"anonymous\"\n\n- The userName should not contain any upper case characters\n\n- The fullName should not be null or blank\n\n- The fullName should not contain any of these characters\n\n- The fullName should not be \"anonymous\"\n\n- The email should not be null or blank\n\n- The email should be a valid email address\n\n- If notifyViaEmail is false then the password should not be null or blank\n\n- If notifyViaEmail is true then the password should not be specified", "body": { "mode": "raw", "raw": "" } }, "response": [] }, { "name": "Delete user", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/admin/user/:username", "query": [], "variable": [ { "key": "username", "value": "{{username}}", "description": "the username identifying the given user", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Deletes the given User identified by username. This action is processed asynchronously." }, "response": [] }, { "name": "Disable user", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/admin/user/:username/disable", "query": [], "variable": [ { "key": "username", "value": "{{username}}", "description": "the username identifying the given user", "disabled": false } ] }, "method": "PUT", "header": [], "description": "Disables the given User identified by username. This method is idempotent i.e. if the user is already disabled then no action will be taken." }, "response": [] }, { "name": "Enable user", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/admin/user/:username/enable", "query": [], "variable": [ { "key": "username", "value": "{{username}}", "description": "the username identifying the given user", "disabled": false } ] }, "method": "PUT", "header": [], "description": "Enables the given User identified by username. This method is idempotent i.e. if the user is already enabled then no action will be taken." }, "response": [] } ] }, { "name": "Attachments", "item": [ { "name": "Get attachment", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/content/:id/child/attachment", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "(optional) a comma separated list of properties to expand on the Attachments returned. Optional." }, { "key": "filename", "value": "{{filename}}", "disabled": true, "description": "(optional) filter parameter to return only the Attachment with the matching file name." }, { "key": "limit", "value": "{{limit}}", "disabled": true, "description": "(optional) how many items should be returned after the start index." }, { "key": "start", "value": "{{start}}", "disabled": true, "description": "(optional) the index of the first item within the result set that should be returned." }, { "key": "mediaType", "value": "{{mediaType}}", "disabled": true, "description": "(optional) a comma separated list of properties to expand on the Attachments returned." } ], "variable": [ { "key": "id", "value": "{{id}}", "description": "The id of the content the attachment is on.", "disabled": false } ] }, "method": "GET", "header": [], "description": "Returns a paginated list of attachment Content entities within a single container." }, "response": [] }, { "name": "Create attachments", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/content/:id/child/attachment", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "(optional) a comma separated list of properties to expand on the Attachments returned. Optional." }, { "key": "allowDuplicated", "value": "{{allowDuplicated}}", "disabled": true, "description": "(optional) allows to upload an attachment with an existing filename." }, { "key": "status", "value": "{{status}}", "disabled": true, "description": "a string containing the status of the attachments content container, supports current or draft, defaults to current" } ], "variable": [ { "key": "id", "value": "{{id}}", "description": "The id of the content the attachment is on.", "disabled": false } ] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "multipart/form-data" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Add one or more attachments to a Confluence Content entity, with optional comments.\n\n**Comments are optional**, but if included there must be as many comments as there are files, and the comments must be in the same order as the files.\n\nThis resource expects a multipart post. The media-type multipart/form-data is defined in RFC 1867. Most client libraries have classes that make dealing with multipart posts simple. For instance, in Java the Apache HTTP Components library provides a `MultiPartEntity` that makes it simple to submit a multipart POST.\n\nIn order to protect against XSRF attacks, because this method accepts multipart/form-data, it has XSRF protection on it. This means you must submit a header of `X-Atlassian-Token: nocheck` with the request, otherwise it will be blocked.\n\nThe name of the multipart/form-data parameter that contains attachments must be 'file'.", "body": { "mode": "formdata", "formdata": [ { "key": "file", "description": "The name of the multipart/form-data parameter that contains attachments must be \\\"file\\\".", "disabled": true, "type": "text", "value": "{{file}}" }, { "key": "comment", "description": "(optional) a list of \\\"comments\\\" matching the list of attachment data.\\nIf supplied, the size of this list must match the size of the fileParts list.", "disabled": true, "type": "text", "value": "{{comment}}" }, { "key": "minorEdit", "description": "(optional) form parameter indicating whether the attachments should be \\\"minorEdits\\\".If \\\"minorEdits\\\" is set to true, no notification email will be generated for that attachment.", "disabled": true, "type": "text", "value": "{{minorEdit}}" }, { "key": "hidden", "description": "(optional) form parameter indicating whether the attachments should be \\\"hidden\\\".If \\\"hidden\\\" is set to true, no notification email or activity stream will be generated for that attachment.", "disabled": true, "type": "text", "value": "{{hidden}}" } ] } }, "response": [] }, { "name": "Move attachment", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/content/:id/child/attachment/:attachmentId/move", "query": [ { "key": "newName", "value": "{{newName}}", "disabled": true }, { "key": "newContentId", "value": "{{newContentId}}", "disabled": true } ], "variable": [ { "key": "attachmentId", "value": "{{attachmentId}}", "description": "the id of the attachment to upload the new file for.", "disabled": false }, { "key": "id", "value": "{{id}}", "description": "The id of the content the attachment is on.", "disabled": false } ] }, "method": "POST", "header": [], "description": "Move an attachment to a different content entity object. \n\n**When moving the attachment**, the name of the attachment can be updated as well. \n\nIn order to protect against XSRF attacks, because this method accepts multipart/form-data, it has XSRF protection on it. This means you must submit a header of `X-Atlassian-Token: nocheck` with the request, otherwise it will be blocked. \n\nA simple example to move an attachment with id \"456\" in a container with id \"123\" to a container with \"789\": \n\n`curl -D- -u admin:admin -X POST -H \"X-Atlassian-Token: nocheck\" \"http://myhost/rest/api/content/123/child/attachment/456/move?newContentId=789\"` \n\nAn example to move the same file, while also renaming it to \"my-new-name\": \n\n`curl -D- -u admin:admin -X POST -H \"X-Atlassian-Token: nocheck\" \"http://myhost/rest/api/content/123/child/attachment/456/move?newContentId=789&newName=my-new-name\"` \n\nThis can also be used to only rename an attachment: \n\n`curl -D- -u admin:admin -X POST -H \"X-Atlassian-Token: nocheck\" \"http://myhost/rest/api/content/123/child/attachment/456/move?newContentId=123&newName=my-new-name\"`" }, "response": [] }, { "name": "Update non-binary data of an Attachment", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/content/:id/child/attachment/:attachmentId", "query": [], "variable": [ { "key": "attachmentId", "value": "{{attachmentId}}", "description": "the id of the attachment to update.", "disabled": false }, { "key": "id", "value": "{{id}}", "description": "The id of the content the attachment is on.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Update the non-binary data of an attachment.This resource can be used to update an attachment's filename, media-type, comment, and parent container.", "body": { "mode": "raw", "raw": "" } }, "response": [] }, { "name": "Remove attachment", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/content/:id/child/attachment/:attachmentId", "query": [], "variable": [ { "key": "attachmentId", "value": "{{attachmentId}}", "description": "the id of the attachment to be removed.", "disabled": false }, { "key": "id", "value": "{{id}}", "description": "The id of the content the attachment is on.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "This method will delete the attachment identified by attachmentId.\n\nIt returns a boolean response indicating whether the operation was successful or not. If the specified attachment or version does not exist, or if the user does not have permission to remove the attachment, appropriate exceptions are thrown and mapped to their corresponding HTTP responses." }, "response": [] }, { "name": "Remove attachment version", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/content/:id/child/attachment/:attachmentId/version/:version", "query": [], "variable": [ { "key": "attachmentId", "value": "{{attachmentId}}", "description": "The id of the attachment to be removed.", "disabled": false }, { "key": "id", "value": "{{id}}", "description": "The id of the content the attachment is on.", "disabled": false }, { "key": "version", "value": "{{version}}", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "This method will delete the specified version of an attachment identified by attachmentId and version.\n\nIf the operation is successful, it returns a response indicating that no content is returned. If the specified attachment or version does not exist, or if the user does not have permission to remove the attachment, appropriate exceptions are thrown and mapped to their corresponding HTTP responses." }, "response": [] }, { "name": "Update binary data of an attachment", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/content/:id/child/attachment/:attachmentId/data", "query": [], "variable": [ { "key": "attachmentId", "value": "{{attachmentId}}", "description": "the id of the attachment to upload the new file for.", "disabled": false }, { "key": "id", "value": "{{id}}", "description": "The id of the content the attachment is on.", "disabled": false } ] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "multipart/form-data" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Update the binary data of an Attachment, and optionally the comment and the minor edit field.\n\nThis adds a new version of the attachment, containing the new binary data, filename, and content-type.\n\n**When updating the binary data of an attachment**, the comment related to it together with the field that specifies if it's a minor edit can be updated as well, but are not required.\n\nIf an update is considered to be a minor edit, notifications will not be sent to the watchers of that content.\n\nThis resource expects a multipart post. The media-type multipart/form-data is defined in RFC 1867. Most client libraries have classes that make dealing with multipart posts simple. For instance, in Java the Apache HTTP Components library provides a `MultiPartEntity` that makes it simple to submit a multipart POST.\n\nIn order to protect against XSRF attacks, because this method accepts multipart/form-data, it has XSRF protection on it. This means you must submit a header of `X-Atlassian-Token: nocheck` with the request, otherwise it will be blocked.\n\nThe name of the multipart/form-data parameter that contains attachments must be 'file'.", "body": { "mode": "formdata", "formdata": [ { "key": "file", "description": "The name of the multipart/form-data parameter that contains attachments must be \\\"file\\\".", "disabled": true, "type": "text", "value": "{{file}}" }, { "key": "comment", "description": "(optional) a list of \\\"comments\\\" matching the list of attachment data.\\nIf supplied, the size of this list must match the size of the fileParts list.", "disabled": true, "type": "text", "value": "{{comment}}" }, { "key": "minorEdit", "description": "(optional) form parameter indicating whether the attachments should be \\\"minorEdits\\\".If \\\"minorEdits\\\" is set to true, no notification email will be generated for that attachment.", "disabled": true, "type": "text", "value": "{{minorEdit}}" }, { "key": "hidden", "description": "(optional) form parameter indicating whether the attachments should be \\\"hidden\\\".If \\\"hidden\\\" is set to true, no notification email or activity stream will be generated for that attachment.", "disabled": true, "type": "text", "value": "{{hidden}}" } ] } }, "response": [] } ] }, { "name": "Backup and Restore", "item": [ { "name": "Cancel all queued jobs", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/backup-restore/jobs/clear-queue", "query": [], "variable": [] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Cancels all queued jobs. Does not affect jobs that are being processed at the moment." }, "response": [] }, { "name": "Cancel job", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/backup-restore/jobs/:jobId/cancel", "query": [], "variable": [ { "key": "jobId", "value": "{{jobId}}", "description": "id of the backup/restore job", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Cancels the job. If the job is already cancelled or failed, the method will do nothing." }, "response": [] }, { "name": "Create site backup job", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/backup-restore/backup/site", "query": [], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Starts the new site backup job.", "body": { "mode": "raw", "raw": "" } }, "response": [] }, { "name": "Create site restore job", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/backup-restore/restore/site", "query": [], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Starts the new site restore job.", "body": { "mode": "raw", "raw": "" } }, "response": [] }, { "name": "Create site restore job for upload backup file", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/backup-restore/restore/site/upload", "query": [], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "multipart/form-data" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "This resource expects a multipart post. The media-type multipart/form-data is defined in RFC 1867. \n\nMost client libraries have classes that make dealing with multipart posts simple. \n\nFor instance, in Java the Apache HTTP Components library provides a MultiPartEntity that makes it simple to submit a multipart POST. \n\n In order to protect against XSRF attacks, because this method accepts multipart/form-data, it has XSRF protection on it. This means you must submit a header of X-Atlassian-Token: nocheck with the request, otherwise it will be blocked. \n\n The name of the multipart/form-data parameter that contains attachments must be \"file\". \n\n An example to attach the file: \n\n curl -D- -u admin:admin -X POST -H \"X-Atlassian-Token: nocheck\" -F file=@myfile.zip http://myhost/rest/api/backup-restore/restore/space/upload \n\n.", "body": { "mode": "formdata", "formdata": [ { "key": "file", "description": "backup file uploaded. Has to be a zip file.", "disabled": true, "type": "text", "value": "{{file}}" } ] } }, "response": [] }, { "name": "Create space backup job", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/backup-restore/backup/space", "query": [], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Creates new space backup job and adds it to the queue.", "body": { "mode": "raw", "raw": "" } }, "response": [] }, { "name": "Create space restore job", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/backup-restore/restore/space", "query": [], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Creates new space restore job and adds it to the queue.", "body": { "mode": "raw", "raw": "" } }, "response": [] }, { "name": "Create space restore job for upload backup file", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/backup-restore/restore/space/upload", "query": [], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "multipart/form-data" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "This resource expects a multipart post. The media-type multipart/form-data is defined in RFC 1867. \n\nMost client libraries have classes that make dealing with multipart posts simple. \n\nFor instance, in Java the Apache HTTP Components library provides a MultiPartEntity that makes it simple to submit a multipart POST. \n\n In order to protect against XSRF attacks, because this method accepts multipart/form-data, it has XSRF protection on it. This means you must submit a header of X-Atlassian-Token: nocheck with the request, otherwise it will be blocked. \n\n The name of the multipart/form-data parameter that contains attachments must be \"file\". \n\n An example to attach the file: \n\n curl -D- -u admin:admin -X POST -H \"X-Atlassian-Token: nocheck\" -F file=@myfile.zip http://myhost/rest/api/backup-restore/restore/space/upload \n\n.", "body": { "mode": "formdata", "formdata": [ { "key": "file", "description": "backup file uploaded. Has to be a zip file.", "disabled": true, "type": "text", "value": "{{file}}" } ] } }, "response": [] }, { "name": "Download backup file", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/backup-restore/jobs/:jobId/download", "query": [], "variable": [ { "key": "jobId", "value": "{{jobId}}", "description": "id of the backup/restore job", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Downloads the backup file for the given job. Requires site admin or space export permissions for all spaces included in the backup job." }, "response": [] }, { "name": "Find jobs by filters", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/backup-restore/jobs", "query": [ { "key": "owner", "value": "{{owner}}", "disabled": true, "description": "userName of user who had created a job." }, { "key": "spaceKey", "value": "{{spaceKey}}", "disabled": true, "description": "the key of the Space the User is attempting to view." }, { "key": "fromDate", "value": "{{fromDate}}", "disabled": true, "description": "minimum job creation date. Supported date format is `yyyy-MM-ddTHH:mm:ss.SSSZ`" }, { "key": "jobStates", "value": "{{jobStates}}", "disabled": true, "description": "list of job states. Acceptable values: \"QUEUED\", \"PROCESSING\", \"FINISHED\", \"CANCELLING\", \"CANCELLED\", \"FAILED\"" }, { "key": "toDate", "value": "{{toDate}}", "disabled": true, "description": "maximum job create date. Supported date format is `yyyy-MM-ddTHH:mm:ss.SSSZ`" }, { "key": "jobOperation", "value": "{{jobOperation}}", "disabled": true, "description": "job operation. Acceptable values: \"BACKUP\" and \"RESTORE\"" }, { "key": "limit", "value": "{{limit}}", "disabled": true, "description": "amount of jobs that should be returned" }, { "key": "jobScope", "value": "{{jobScope}}", "disabled": true, "description": "scope of the job. Acceptable values: \"SPACE\" and \"SITE\" " } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns jobs based on the filters provided. The user must have permission to see the jobs." }, "response": [] }, { "name": "Get files in restore directory", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/backup-restore/restore/files", "query": [ { "key": "jobScope", "value": "{{jobScope}}", "disabled": true, "description": "name of type of restore job (SITE or SPACE or null), if null, all backup files are listed" } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "returns list of information on files in conf-home/restore/(jobScope)." }, "response": [] }, { "name": "Get job by ID", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/backup-restore/jobs/:jobId", "query": [], "variable": [ { "key": "jobId", "value": "{{jobId}}", "description": "id of the backup/restore job", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Get job by id. The user must be a sysadmin or the owner of the job." }, "response": [] } ] }, { "name": "Category", "item": [ { "name": "Remove a category from a space", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/space/:spaceKey/category/:categoryName", "query": [], "variable": [ { "key": "spaceKey", "value": "{{spaceKey}}", "description": "The key of the space to remove the category from", "disabled": false }, { "key": "categoryName", "value": "{{categoryName}}", "description": "The name of the category to remove", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Removes a category from a space, identified by spaceKey.\n\nExample request URI:\n`https://example.com/confluence/rest/api/space/TEST/category/example-category`" }, "response": [] } ] }, { "name": "Child Content", "item": [ { "name": "Get children of content", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/content/:id/child", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "a comma separated list of properties to expand on the children" }, { "key": "limit", "value": "{{limit}}", "disabled": true, "description": "how many items should be returned after the start index" }, { "key": "start", "value": "{{start}}", "disabled": true, "description": "the index of the first item within the result set that should be returned" }, { "key": "parentVersion", "value": "{{parentVersion}}", "disabled": true } ], "variable": [ { "key": "id", "value": "{{id}}", "description": "The id of the content to retrieve children for", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a map of the direct children of a piece of Content. Content can have multiple types of children. For example, a Page can have children that are also Pages, but it can also have Comments and Attachments. \n\nThe types of the children returned is specified by the `expand` query parameter in the request. This parameter can include expands for multiple child types. If no types are included in the `expand` parameter, the map returned will just list the child types that are available to be expanded for the content referenced by the `id` path parameter." }, "response": [] }, { "name": "Get children of content by type", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/content/:id/child/:type", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "a comma separated list of properties to expand on the children" }, { "key": "limit", "value": "{{limit}}", "disabled": true, "description": "how many items should be returned after the start index" }, { "key": "start", "value": "{{start}}", "disabled": true, "description": "the index of the first item within the result set that should be returned" }, { "key": "parentVersion", "value": "{{parentVersion}}", "disabled": true } ], "variable": [ { "key": "id", "value": "{{id}}", "description": "The id of the content to retrieve children for", "disabled": false }, { "key": "type", "value": "{{type}}", "description": "a content type to filter children on.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the direct children of a piece of Content, limited to a single child type.The types of the children returned is specified by the \"type\" path parameter in the request." }, "response": [] }, { "name": "Get comments of content", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/content/:id/child/comment", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "a comma separated list of properties to expand on the children" }, { "key": "depth", "value": "{{depth}}", "disabled": true, "description": "(optional, default: \"\") the depth of the comments. Possible values are: \"\" (ROOT only), \"all\"" }, { "key": "limit", "value": "{{limit}}", "disabled": true, "description": "how many items should be returned after the start index" }, { "key": "start", "value": "{{start}}", "disabled": true, "description": "the index of the first item within the result set that should be returned" }, { "key": "location", "value": "{{location}}", "disabled": true, "description": "(optional, default: \"\" means all) the location of the comments. Possible values are: \"inline\", \"footer\", \"resolved\".\nYou can define multiple location params. The results will be the comments matched by any location." }, { "key": "parentVersion", "value": "{{parentVersion}}", "disabled": true } ], "variable": [ { "key": "id", "value": "{{id}}", "description": "The id of the content to retrieve children for", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the comments of a piece of Content. Example request URI(s): \n\n- `http://example.com/confluence/rest/api/content/1234/child/comment`\n- `http://example.com/confluence/rest/api/content/1234/child/comment?expand=body.view`\n- `http://example.com/confluence/rest/api/content/1234/child/comment?start=20&limit=10`\n- `http://example.com/confluence/rest/api/content/1234/child/comment?location=footer&location=inline&location=resolved`\n- `http://example.com/confluence/rest/api/content/1234/child/comment?expand=extensions.inlineProperties,extensions.resolution`" }, "response": [] } ] }, { "name": "Content Blueprint", "item": [ { "name": "Publish shared draft", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/content/blueprint/instance/:draftId", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "A comma separated list of properties to expand on the content. Default value: body.storage,history,space,version,ancestors" }, { "key": "status", "value": "{{status}}", "disabled": true, "description": "only support 'draft' status for now." } ], "variable": [ { "key": "draftId", "value": "{{draftId}}", "description": "the id of the draft", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Publishes a shared draft of a Content created from a ContentBlueprint.", "body": { "mode": "raw", "raw": "" } }, "response": [] }, { "name": "Publish legacy draft", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/content/blueprint/instance/:draftId", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "A comma separated list of properties to expand on the content. Default value: body.storage,history,space,version,ancestors" }, { "key": "status", "value": "{{status}}", "disabled": true, "description": "only support 'draft' status for now." } ], "variable": [ { "key": "draftId", "value": "{{draftId}}", "description": "the id of the draft", "disabled": false } ] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Publishes a legacy draft of a Content created from a ContentBlueprint.", "body": { "mode": "raw", "raw": "" } }, "response": [] } ] }, { "name": "Content Body", "item": [ { "name": "Convert body representation", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/contentbody/convert/:to", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "A comma separated list of properties to expand on the content. Default value: body.storage,history,space,version,ancestors" } ], "variable": [ { "key": "to", "value": "{{to}}", "description": "the representation to convert to.", "disabled": false } ] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Converts between content body representations. Not all representations can be converted to/from other formats. Supported conversions: \n\n- `storage -> view,export_view,styled_view,editor`\n- `editor -> storage`\n- `view -> None`\n- `export_view -> None`\n- `styled_view -> None`\n\nExample request URI(s):\n\n- `http://example.com/confluence/rest/api/contentbody/convert/view`", "body": { "mode": "raw", "raw": "" } }, "response": [] } ] }, { "name": "Content Descendant", "item": [ { "name": "Get Descendants", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/content/:id/descendant", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": " a comma separated list of properties to expand on the descendants." } ], "variable": [ { "key": "id", "value": "{{id}}", "description": "the ID of the Content the User is attempting to view the descendants for.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a map of the descendants of a piece of Content. Content can have multiple types of descendants - for example a Page can have descendants that are also Pages, but it can also have Comments and Attachments. \n\nThe ContentType(s) of the descendants returned is specified by the `expand` query parameter in the request - this parameter can include expands for multiple descendant types. If no types are included in the expand parameter, the map returned will just list the descendant types that are available to be expanded for the Content referenced by the `id` path parameter. \n\nCurrently the only supported descendants are comment descendants of non-comment Content. \n\nExample request URI(s): \n\n`http://example.com/confluence/rest/api/content/1234/descendant` \n\n`http://example.com/confluence/rest/api/content/1234/descendant?expand=comment.body.VIEW` \n\n`http://example.com/confluence/rest/api/content/1234/descendant?expand=comment`" }, "response": [] }, { "name": "Get descendants of type", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/content/:id/descendant/:type", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "a comma separated list of properties to expand on the descendants." }, { "key": "limit", "value": "{{limit}}", "disabled": true, "description": " (optional, default: site limit) how many items should be returned after the start index." }, { "key": "start", "value": "{{start}}", "disabled": true, "description": "(optional, default: 0) the index of the first item within the result set that should be returned." } ], "variable": [ { "key": "id", "value": "{{id}}", "description": "the ID of the Content the User is attempting to view the descendants for.", "disabled": false }, { "key": "type", "value": "{{type}}", "description": " content type to filter descendants on.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the direct descendants of a piece of Content. The ContentType(s) of the descendants returned is specified by the `type` path parameter in the request. Currently the only supported descendants are comment descendants of non-comment Content. \n\nExample request URI(s): \n\n`http://example.com/confluence/rest/api/content/1234/descendant/comment` \n\n`http://example.com/confluence/rest/api/content/1234/descendant/comment?expand=body.VIEW` \n\n`http://example.com/confluence/rest/api/content/1234/descendant/comment?start=20&limit=10`" }, "response": [] } ] }, { "name": "Content Labels", "item": [ { "name": "Get labels", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/content/:id/label", "query": [ { "key": "prefix", "value": "{{prefix}}", "disabled": true, "description": "the prefixes to filter the labels with." }, { "key": "limit", "value": "{{limit}}", "disabled": true, "description": "the limit of the number of labels to return, this may be restricted by fixed system limits" }, { "key": "start", "value": "{{start}}", "disabled": true, "description": "he start point of the collection to return." } ], "variable": [ { "key": "id", "value": "{{id}}", "description": "the id of the content to get the labels for", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the list of labels on a piece of Content. Example request URI(s): \n\n- `http://example.com/confluence/rest/api/content/1234/label`\n- `http://example.com/confluence/rest/api/content/1234/label?prefix=global&start=0&limit=200`" }, "response": [] }, { "name": "Add Labels", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/content/:id/label", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "the id of the content to get the labels for", "disabled": false } ] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Adds a list of labels to the specified content. The body is the json representation of the list.", "body": { "mode": "raw", "raw": "" } }, "response": [] }, { "name": "Delete label with query param", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/content/:id/label", "query": [ { "key": "name", "value": "{{name}}", "disabled": true, "description": "the name of the label to be removed from the content" } ], "variable": [ { "key": "id", "value": "{{id}}", "description": "the id of the content to get the labels for", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Deletes a labels to the specified content." }, "response": [] }, { "name": "Delete label", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/content/:id/label/:label", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "the id of the content to get the labels for", "disabled": false }, { "key": "label", "value": "{{label}}", "description": "the name of the label to be removed from the content", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Deletes a labels to the specified content. The body is the json representation of the list. When calling this method through REST the label parameter doesn't accept `/` characters in label names, because of security constraints. For this case please use the query parameter version of this method (`/content/{id}/label?name={label}`)" }, "response": [] } ] }, { "name": "Content Property", "item": [ { "name": "Find all content properties", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/content/:id/property", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "a comma separated list of properties to expand on the content properties. Default value: version." }, { "key": "limit", "value": "{{limit}}", "disabled": true, "description": "the limit of the number of labels to return, this may be restricted by fixed system limits" }, { "key": "start", "value": "{{start}}", "disabled": true, "description": "the start point of the collection to return." } ], "variable": [ { "key": "id", "value": "{{id}}", "description": "the id of the content", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a paginated list of content properties. Example request URI(s): \n\n- `http://example.com/confluence/rest/api/content/1234/property?expand=content,version`" }, "response": [] }, { "name": "Create a content property", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/content/:id/property", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "the id of the content", "disabled": false } ] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Creates a new content property.", "body": { "mode": "raw", "raw": "" } }, "response": [] }, { "name": "Find content property by key", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/content/:id/property/:key", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "a comma separated list of properties to expand on the content properties. Default value: version." }, { "key": "limit", "value": "{{limit}}", "disabled": true, "description": "the limit of the number of labels to return, this may be restricted by fixed system limits" } ], "variable": [ { "key": "id", "value": "{{id}}", "description": "the id of the content", "disabled": false }, { "key": "key", "value": "{{key}}", "description": "the key of the content property. Required.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a content property. Example request URI(s): \n\n- `http://example.com/confluence/rest/api/content/1234/property/example-property-key?expand=content,version`" }, "response": [] }, { "name": "Update content property", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/content/:id/property/:key", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "a comma separated list of properties to expand on the content properties. Default value: version." } ], "variable": [ { "key": "id", "value": "{{id}}", "description": "the id of the content", "disabled": false }, { "key": "key", "value": "{{key}}", "description": "the key of the content property. Required.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Updates a content property. The body contains the representation of the content property. Must include the property id, and the new version number. Attempts to create a new content property if the given version number is `1`", "body": { "mode": "raw", "raw": "" } }, "response": [] }, { "name": "/rest/api/content/{id}/property/{key}", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/content/:id/property/:key", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "the id of the content", "disabled": false }, { "key": "key", "value": "{{key}}", "disabled": false } ] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "body": { "mode": "raw", "raw": "" } }, "response": [] }, { "name": "Delete content property", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/content/:id/property/:key", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "the id of the content", "disabled": false }, { "key": "key", "value": "{{key}}", "description": "the key of the content property. Required.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Deletes a content property." }, "response": [] } ] }, { "name": "Content Resource", "item": [ { "name": "Get content", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/content", "query": [ { "key": "spaceKey", "value": "{{spaceKey}}", "disabled": true, "description": " the space key to find content under." }, { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "a comma separated list of properties to expand on the content. Default value: history,space,version." }, { "key": "limit", "value": "{{limit}}", "disabled": true, "description": "the limit of the number of items to return, this may be restricted by fixed system limits." }, { "key": "start", "value": "{{start}}", "disabled": true, "description": "the start point of the collection to return." }, { "key": "postingDay", "value": "{{postingDay}}", "disabled": true, "description": "the posting day of the blog post. Required for blogpost type. Format: yyyy-mm-dd. Example: 2013-02-13" }, { "key": "title", "value": "{{title}}", "disabled": true, "description": " the title of the page to find. Required for page type." }, { "key": "type", "value": "{{type}}", "disabled": true, "description": "the content type to return. Default value: page. Valid values: page, blogpost." }, { "key": "status", "value": "{{status}}", "disabled": true, "description": " list of statuses the content to be found is in. Defaults to current is not specified. If set to 'any', content in 'current' and 'trashed' status will be fetched. Does not support 'historical' status for now." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a paginated list of Content. Example request URI(s): \n\n- `http://example.com/confluence/rest/api/content?spaceKey=TST&title=Cheese&expand=space,body.view,version,container`\n- `http://example.com/confluence/rest/api/content?type=blogpost&spaceKey=TST&title=Bacon&postingDay=2014-02-13&expand=space,body.view,version,container`" }, "response": [] }, { "name": "Create content", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/content", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": " comma separated list of properties to expand on the content. Default value: history,space,version" }, { "key": "status", "value": "{{status}}", "disabled": true, "description": "list of Content statuses to filter results on. \n\n Default value: [current]." } ], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Creates a new piece of Content or publishes the draft if the content id is present. For the case publishing draft, a new piece of content will be created and all metadata from the draft will be transferred into the newly created content.", "body": { "mode": "raw", "raw": "" } }, "response": [] }, { "name": "Get content by ID", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/content/:id", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "A comma separated list of properties to expand on the content. Default value: history,space,version. \n\n We can also specify some extensions such as extensions.inlineProperties (for getting inline comment-specific properties) or extensions.resolution for the resolution status of each comment in the results" }, { "key": "version", "value": "{{version}}", "disabled": true, "description": "version of the content." }, { "key": "status", "value": "{{status}}", "disabled": true, "description": "list of Content statuses to filter results on. \n\n Default value: [current]." } ], "variable": [ { "key": "id", "value": "{{id}}", "description": "the id of the content.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a piece of Content. Example request URI(s): \n\n- `http://example.com/confluence/rest/api/content/1234?expand=space,body.view,version,container`\n- `http://example.com/confluence/rest/api/content/1234?status=any`" }, "response": [] }, { "name": "Delete content", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/content/:id", "query": [ { "key": "status", "value": "{{status}}", "disabled": true, "description": "the status of the content to be deleted." } ], "variable": [ { "key": "id", "value": "{{id}}", "description": " the id of the content.", "disabled": false } ] }, "method": "DELETE", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Trashes or purges a piece of Content, based on its ContentType and ContentStatus. \n\nThere are three cases:\n\n- If the content is trashable and its status is current, it will be trashed.\n\n- If the content is trashable, its status is trashed and the status query parameter in the request is trashed, the content will be purged from the trash and deleted permanently.\n\n- If the content is not trashable it will be deleted permanently without being trashed." }, "response": [] }, { "name": "Get history of content", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/content/:id/history", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "a comma separated list of properties to expand on the content. Default value: previousVersion,nextVersion,lastUpdated." } ], "variable": [ { "key": "id", "value": "{{id}}", "description": " the id of the content.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the history of a particular piece of content. Example request URI(s): \n\n- `http://example.com/confluence/rest/api/content/1234/history`\n- `http://example.com/confluence/rest/api/content/1234/history?expand=previousVersion,nextVersion,lastUpdated`\n- `http://example.com/confluence/rest/api/content/1234/history?cql=creator=currentUser()&cqlcontext={\"spaceKey\":\"TST\", \"contentId\":\"55\"}&expand=previousVersion,nextVersion,lastUpdated`\n- `http://example.com/confluence/rest/api/content/1234/history?cql=creator=currentUser()&cqlcontext={\"spaceKey\":\"TST\", \"contentId\":\"55\"}&expand=previousVersion,nextVersion,lastUpdated&start=0&limit=10`" }, "response": [] }, { "name": "Get macro body by hash", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/content/:id/history/:version/macro/hash/:hash", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": " the id of the content.", "disabled": false }, { "key": "version", "value": "{{version}}", "description": "the version of the content which the hash belongs.", "disabled": false }, { "key": "hash", "value": "{{hash}}", "description": "the macroId to find the correct macro.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the body of a macro (in storage format) with the given hash. This resource is primarily used by connect applications that require the body of macro to perform their work. \n\nThe hash is generated by connect during render time of the local macro holder and is usually only relevant during the scope of one request. For optimisation purposes, this hash will usually live for multiple requests. \n\nCollecting a macro by its hash should now be considered deprecated and will be replaced, transparently with macroIds. This resource is currently only called from connect addons which will eventually all use the `getContentById` resource. \n\nTo make the migration as seamless as possible, this resource will match macros against a generated hash or a stored macroId. This will allow add ons to work during the migration period." }, "response": [] }, { "name": "Get macro body by macro ID", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/content/:id/history/:version/macro/id/:macroId", "query": [], "variable": [ { "key": "macroId", "value": "{{macroId}}", "description": "the macroId to find the correct macro.", "disabled": false }, { "key": "id", "value": "{{id}}", "description": " the id of the content.", "disabled": false }, { "key": "version", "value": "{{version}}", "description": "the version of the content which the hash belongs.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the body of a macro (in storage format) with the given id. This resource is primarily used by connect applications that require the body of macro to perform their work. \n\nWhen content is created, if no macroId is specified, then Confluence will generate a random id. The id is persisted as the content is saved and only modified by Confluence if there are conflicting IDs. \n\nTo preserve backwards compatibility this resource will also match on the hash of the macro body, even if a macroId is found. This check will become redundant as pages get macroId's generated for them and transparently propagate out to all instances." }, "response": [] }, { "name": "Scan content by space key", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/content/scan", "query": [ { "key": "cursor", "value": "{{cursor}}", "disabled": true, "description": "the identifier which is used to skip results from a previous query when paginating. Cursor is empty in first request, to move forward or backward use cursor provided in response." }, { "key": "spaceKey", "value": "{{spaceKey}}", "disabled": true, "description": " the space key to find content under." }, { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "a comma separated list of properties to expand on the content. Default value: history,space,version." }, { "key": "limit", "value": "{{limit}}", "disabled": true, "description": "the limit of the number of items to return, this may be restricted by fixed system limits." }, { "key": "status", "value": "{{status}}", "disabled": true, "description": " list of statuses the content to be found is in. Defaults to current is not specified. If set to 'any', content in 'current' and 'trashed' status will be fetched. Does not support 'historical' status for now." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a paginated list of Content. Example request URI(s): \n\n- `http://example.com/confluence/rest/api/content/scan?spaceKey=TST&limit=100&expand=space,body.view,version,container`\n- `http://example.com/confluence/rest/api/content/scan?limit=100&expand=space,body.view,version,container`" }, "response": [] }, { "name": "Search content using CQL", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/content/search", "query": [ { "key": "cqlcontext", "value": "{{cqlcontext}}", "disabled": true, "description": " the context to execute a cql search in, this is the json serialized form of SearchContext" }, { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "a comma separated list of properties to expand on the content. Default value: history,space,version." }, { "key": "limit", "value": "{{limit}}", "disabled": true, "description": "the limit of the number of items to return, this may be restricted by fixed system limits." }, { "key": "start", "value": "{{start}}", "disabled": true, "description": "the start point of the collection to return." }, { "key": "cql", "value": "{{cql}}", "disabled": true, "description": " a cql query string to use to locate content." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Fetch a list of content using the Confluence Query Language (CQL). See: [Advanced searching using CQL](https://developer.atlassian.com/display/CONFDEV/Advanced+Searching+using+CQL) \n\n Example request URI(s): \n\n- `http://localhost:8080/confluence/rest/api/content/search?cql=creator=currentUser()&cqlcontext={\"spaceKey\":\"TST\", \"contentId\":\"55\"}`\n- `http://localhost:8080/confluence/rest/api/content/search?cql=space=DEV AND label=docs&expand=space,metadata.labels&limit=10`" }, "response": [] }, { "name": "Update content", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/content/:contentId", "query": [ { "key": "asyncReconciliation", "value": "{{asyncReconciliation}}", "disabled": true }, { "key": "conflictPolicy", "value": "{{conflictPolicy}}", "disabled": true, "description": "the conflict policy, default value: abort" }, { "key": "status", "value": "{{status}}", "disabled": true, "description": "the existing status of the content to be updated." } ], "variable": [ { "key": "contentId", "value": "{{contentId}}", "description": " the id of the content.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Updates a piece of Content, including changes to content status. \n\nTo update a piece of content you must increment the `version.number`, supplying the number of the version you are creating. The `title` property can be updated on all content, `body` can be updated on all content that has a body (not attachments). For instance to update the content of a blogpost that currently has version 1:\n\n`PUT /rest/api/content/456`\n\n```json\n{\n \"version\":{\n \"number\": 2\n },\n \"title\":\"My new title\",\n \"type\":\"page\",\n \"body\":{\n \"storage\":{\n \"value\":\"New page data.\",\n \"representation\":\"storage\"\n }\n }\n}\n```\n\nTo update a page and change its parent page, supply the `ancestors` property with the request with the parent as the first ancestor i.e. to move a page to be a child of page with ID 789:\n\n`PUT /rest/api/content/456`\n\n```json\n{\n \"version\":{\n \"number\": 2\n },\n \"ancestors\": [{\"id\":789}],\n \"type\":\"page\",\n \"body\":{\n \"storage\":{\n \"value\":\"New page data.\",\n \"representation\":\"storage\"\n }\n }\n}\n```\n\nChanging status\n\nTo restore a piece of content that has the status of trashed the content must have it's `version` incremented, and `status` set to `current`. No other field modifications will be performed when restoring a piece of content from the trash.\n\nRequest example to restore from trash: `{\"id\": \"557059\",\"status\": \"current\",\"version\": {\"number\": 2}}`\n\nIf the content you're updating has a draft, specifying `status=draft` will delete that draft and the `body` of the content will be replaced with the `body` specified in the request.\n\nRequest example to delete a draft:\n\n`PUT: http://localhost:9096/confluence/rest/api/content/2149384202?status=draft`\n\n```json\n{\n \"id\":\"2149384202\",\n \"status\":\"current\",\n \"version\":{\n \"number\":4\n },\n \"space\":{\n \"key\":\"TST\"\n },\n \"type\":\"page\",\n \"title\":\"page title\",\n \"body\":{\n \"storage\":{\n \"value\":\"New page data.\",\n \"representation\":\"storage\"\n }\n }\n}\n```\n\nChanging page position\n\nTo set page position, supply the `position` property in the request body with a positive integer. Content with unset positions will have a `position` value of -1. To unset a content position, supply `position` property with -1.\n\nRequest example to set page position to 1\n\n`PUT /rest/api/content/2149384202`\n\n```json\n{\n \"id\":\"2149384202\",\n \"version\":{\n \"number\":2\n },\n \"type\":\"page\",\n \"title\":\"page title\",\n \"position\":1\n}\n```\n\n Request example to unset page position \n\n`PUT /rest/api/content/2149384202`\n\n```json\n{\n \"id\":\"2149384202\",\n \"version\":{\n \"number\":2\n },\n \"type\":\"page\",\n \"position\":-1\n}\n```\n\n", "body": { "mode": "raw", "raw": "" } }, "response": [] } ] }, { "name": "Content Restrictions", "item": [ { "name": "Get all restrictions by Operation", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/content/:id/restriction/byOperation", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "A comma separated list of properties to expand on the content properties. Default value: group." } ], "variable": [ { "key": "id", "value": "{{id}}", "description": "The id of the content", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns info about all restrictions by operation." }, "response": [] }, { "name": "Get all restrictions for given operation", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/content/:id/restriction/byOperation/:operationKey", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "Aa comma separated list of properties to expand on the content properties. Default value: group." }, { "key": "limit", "value": "{{limit}}", "disabled": true, "description": "pagination limit." }, { "key": "start", "value": "{{start}}", "disabled": true, "description": "pagination start." } ], "variable": [ { "key": "operationKey", "value": "{{operationKey}}", "description": "key of the operation.", "disabled": false }, { "key": "id", "value": "{{id}}", "description": "The id of the content", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns info about all restrictions of given operation." }, "response": [] }, { "name": "Update restrictions", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/content/:id/restriction", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "A comma separated list of properties to expand in the response. Default is restrictions.user, restrictions.group Default value: group." }, { "key": "limit", "value": "{{limit}}", "disabled": true, "description": "pagination limit." }, { "key": "start", "value": "{{start}}", "disabled": true, "description": "pagination start." } ], "variable": [ { "key": "id", "value": "{{id}}", "description": "The id of the content", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Sets all the restrictions specified to a piece of content identified by `contentId`. Setting per-content restrictions is currently allowed for Pages or BlogPosts only. \n\nExample request URI: \n\n`http://example.com/confluence/rest/content/1234567/restriction?expand=`\n\nThe payload uses the same schema as returned by the GET requests from `/rest/api/content/{id}/restriction/byOperation*` which can be used as a template but is not necessary. \n\nExample request for a single content restriction: \n\n```json\n[ { \"operation\": \"update\", \"restrictions\": { \"user\": [ { \"type\": \"known\", \"username\": \"admin\" } ] } } ]\n```\n\nExample request for updating two ContentRestrictions: \n\n```json\n[ { \"operation\": \"update\", \"restrictions\": { \"user\": [ { \"type\": \"known\", \"username\": \"admin\" } ] } }, { \"operation\": \"read\", \"restrictions\": { \"user\": [ { \"type\": \"known\", \"username\": \"fred\" } ] } } ]\n```\n\nRules for using this method: \n\n- The provided ContentRestrictions will overwrite any existing restrictions on the Content for the corresponding operations. \n- If the provided `ContentRestriction` lacks any supported operations, the restrictions for the operations will not be altered. \n- Setting `users` and/or `groups` map entries as empty arrays will remove the corresponding content restrictions. \n- Missing `users` and/or `groups` map entries means the corresponding operation's user/group content restrictions won't be changed. \n- Modifying restrictions to revoke the requesting user's access is prohibited.", "body": { "mode": "raw", "raw": "" } }, "response": [] } ] }, { "name": "Content Version", "item": [ { "name": "Delete content history", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/content/:id/version/:versionNumber", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The id of the content", "disabled": false }, { "key": "versionNumber", "value": "{{versionNumber}}", "description": "version number starts from 1 up to current version.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Delete a historical version of a page or a blogpost. Current user must have edit permission on content, or it will throw a permission exception." }, "response": [] } ] }, { "name": "Content Watchers", "item": [ { "name": "Fetch users watching a given content", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/content/:contentId/watchers", "query": [ { "key": "limit", "value": "{{limit}}", "disabled": true, "description": "The limit of the number of users to return, this may be restricted by fixed system limit." }, { "key": "start", "value": "{{start}}", "disabled": true, "description": "The start point of the collection to return." } ], "variable": [ { "key": "contentId", "value": "{{contentId}}", "description": "the ID of the Content the User is attempting to view the watchers for.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a paginated list of Users watching the given Content identified by contentId. Only a Confluence Administrator or Space Administrator can perform this action." }, "response": [] } ] }, { "name": "GlobalColorScheme", "item": [ { "name": "Get default global color scheme", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/color-scheme/default", "query": [], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Get default color scheme for the instance\n\n" }, "response": [] }, { "name": "Get global color scheme", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/color-scheme", "query": [], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Get information about the current color scheme for the instance\n\n" }, "response": [] }, { "name": "Set global color scheme", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/color-scheme", "query": [], "variable": [] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Update the current color scheme of the instance\n\n", "body": { "mode": "raw", "raw": "" } }, "response": [] }, { "name": "Reset global color scheme", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/color-scheme/reset", "query": [], "variable": [] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Reset the global color scheme colors to default\n\n" }, "response": [] } ] }, { "name": "Group", "item": [ { "name": "Get group by name", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/group/:groupName", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true } ], "variable": [ { "key": "groupName", "value": "{{groupName}}", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Get the user group with the group name" }, "response": [] }, { "name": "Get groups", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/group", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true }, { "key": "limit", "value": "{{limit}}", "disabled": true }, { "key": "start", "value": "{{start}}", "disabled": true } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Get a paginated collection of user groups" }, "response": [] }, { "name": "Get members of group", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/group/:groupName/member", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true }, { "key": "limit", "value": "{{limit}}", "disabled": true }, { "key": "start", "value": "{{start}}", "disabled": true } ], "variable": [ { "key": "groupName", "value": "{{groupName}}", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Get a paginated collection of users in the given group" }, "response": [] } ] }, { "name": "Instance Metrics", "item": [ { "name": "Get instance metrics", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/instance-metrics", "query": [], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns simple metrics about this instance." }, "response": [] } ] }, { "name": "Label", "item": [ { "name": "Get related labels, currently returning global labels only.", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/label/:labelName/related", "query": [ { "key": "limit", "value": "{{limit}}", "disabled": true, "description": "the maximum number of related labels to return. Default to be 100." } ], "variable": [ { "key": "labelName", "value": "{{labelName}}", "description": "the name of the label (namespace prefixes permitted).", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Return labels related to the given label name sorted by frequency of use in descending order,\nwith a specified limit of results. The current process for identifying related labels solely\nexamines global labels, but it may change in the future.\n\nExample request URI's:\n`https://example.com/confluence/rest/api/label/test_label_name/related`\n`https://example.com/confluence/rest/api/label/my:test_label_name/related?limit=200`" }, "response": [] }, { "name": "Get recently used labels", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/label/recent", "query": [ { "key": "limit", "value": "{{limit}}", "disabled": true, "description": "the limit of the number of labels to return, this may be restricted by fixed system limits" }, { "key": "start", "value": "{{start}}", "disabled": true, "description": "the start point of the collection to return." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a paginated list of recently used labels within a Confluence instance. Labels are sorted\nfrom most to least recently used.\n\nExample request URI's:\n`https://example.com/confluence/rest/api/label/recent`\n`https://example.com/confluence/rest/api/label/recent?start=2&limit=1`" }, "response": [] } ] }, { "name": "Long Task", "item": [ { "name": "Get task by ID", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/longtask/:id", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "a comma separated list of properties to expand on the task." } ], "variable": [ { "key": "id", "value": "{{id}}", "description": " the key of the task to be returned.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns information about a long-running task." }, "response": [] }, { "name": "Get tasks", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/longtask", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "comma separated list of properties to expand on the tasks." }, { "key": "limit", "value": "{{limit}}", "disabled": true, "description": "the limit of the number of items to return, this may be restricted by fixed system limits" }, { "key": "start", "value": "{{start}}", "disabled": true, "description": "the start point of the collection to return." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns information about all tracked long-running tasks." }, "response": [] } ] }, { "name": "Search", "item": [ { "name": "Search for entities in confluence", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/search", "query": [ { "key": "cqlcontext", "value": "{{cqlcontext}}", "disabled": true, "description": "the execution context for CQL functions, provides current space key and content id. If this is not provided some CQL functions will not be available." }, { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "the properties to expand on the search result, this may cause database requests for some properties" }, { "key": "includeArchivedSpaces", "value": "{{includeArchivedSpaces}}", "disabled": true, "description": "whether to include content in archived spaces in the result, this defaults to false." }, { "key": "limit", "value": "{{limit}}", "disabled": true, "description": "the limit of the number of items to return, this may be restricted by fixed system limits." }, { "key": "start", "value": "{{start}}", "disabled": true, "description": "he start point of the collection to return." }, { "key": "excerpt", "value": "{{excerpt}}", "disabled": true, "description": "the excerpt strategy to apply to the result, one of : indexed, highlight, none. This defaults to highlight." }, { "key": "cql", "value": "{{cql}}", "disabled": true, "description": "the CQL query see advanced searching in confluence using CQL" } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Search for entities in Confluence using the [Confluence Query Language (CQL)](https://developer.atlassian.com/confdev/confluence-rest-api/advanced-searching-using-cql). For example:\n\nExample request URI(s):\n\n- `http://localhost:8080/confluence/rest/api/search?cql=creator=currentUser()&type%20in%20(space,page,user)&cqlcontext={\"spaceKey\":\"TST\", \"contentId\":\"55\"}`\n\n- `http://localhost:8080/confluence/rest/api/search?cql=siteSearch~'example'%20AND%20label=docs&expand=content.space,space.homepage&limit=10`", "body": { "mode": "raw", "raw": "" } }, "response": [] } ] }, { "name": "Server Information", "item": [ { "name": "Get server information", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/server-information", "query": [], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns information about the current application build running on this instance." }, "response": [] } ] }, { "name": "Space", "item": [ { "name": "Archive space", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/space/:spaceKey/archive", "query": [], "variable": [ { "key": "spaceKey", "value": "{{spaceKey}}", "description": "the key of the space to update.", "disabled": false } ] }, "method": "PUT", "header": [], "description": "Archive the given Space identified by spaceKey. This method is idempotent i.e., if the Space is already archived then no action will be taken." }, "response": [] }, { "name": "Get contents in space", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/space/:spaceKey/content", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "a comma separated list of properties to expand on the space." }, { "key": "depth", "value": "{{depth}}", "disabled": true, "description": "a string indicating if all content, or just the root content of the space is returned. Default value: all. Valid values: all, root." }, { "key": "limit", "value": "{{limit}}", "disabled": true, "description": "the limit of the number of labels to return, this may be restricted by fixed system limits." }, { "key": "start", "value": "{{start}}", "disabled": true, "description": "he start point of the collection to return." } ], "variable": [ { "key": "spaceKey", "value": "{{spaceKey}}", "description": "the key of the space to update.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the content in this given space. \n\nExample request URI: \n\n`http://example.com/confluence/rest/api/space/TEST/content?expand=history`" }, "response": [] }, { "name": "Get contents by type", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/space/:spaceKey/content/:type", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "a comma separated list of properties to expand on the space." }, { "key": "depth", "value": "{{depth}}", "disabled": true, "description": "a string indicating if all content, or just the root content of the space is returned. Default value: all. Valid values: all, root." }, { "key": "limit", "value": "{{limit}}", "disabled": true, "description": "the limit of the number of labels to return, this may be restricted by fixed system limits." }, { "key": "start", "value": "{{start}}", "disabled": true, "description": "he start point of the collection to return." } ], "variable": [ { "key": "spaceKey", "value": "{{spaceKey}}", "description": "the key of the space to update.", "disabled": false }, { "key": "type", "value": "{{type}}", "description": "the type of content to return with the space. Valid values: page, blogpost.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the content in this given space with the given type. \n\nExample request URI: \n\n`http://example.com/confluence/rest/api/space/TEST/content/page?expand=history`" }, "response": [] }, { "name": "Create private space", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/space/_private", "query": [], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Creates a new private Space, viewable only by its creator. The incoming Space does not include an id, but must include a Key and Name, and should include a Description.", "body": { "mode": "raw", "raw": "" } }, "response": [] }, { "name": "Get spaces by key", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/space", "query": [ { "key": "spaceKeySingle", "value": "{{spaceKeySingle}}", "disabled": true }, { "key": "spaceKey", "value": "{{spaceKey}}", "disabled": true, "description": "the key of the space to update." }, { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "a comma separated list of properties to expand on the spaces." }, { "key": "hasRetentionPolicy", "value": "{{hasRetentionPolicy}}", "disabled": true, "description": "filter the list of spaces returned by retention policy." }, { "key": "limit", "value": "{{limit}}", "disabled": true, "description": "the limit of the number of spaces to return, this may be restricted by fixed system limits" }, { "key": "start", "value": "{{start}}", "disabled": true, "description": "the start point of the collection to return." }, { "key": "label", "value": "{{label}}", "disabled": true, "description": "filter the list of spaces returned by label." }, { "key": "favourite", "value": "{{favourite}}", "disabled": true, "description": "filter the list of spaces returned by favourites." }, { "key": "type", "value": "{{type}}", "disabled": true, "description": "filter the list of spaces returned by type (global, personal)." }, { "key": "status", "value": "{{status}}", "disabled": true, "description": "filter the list of spaces returned by status (current, archived)." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns information about a number of spaces. \n\nExample request URI(s): \n\n`http://example.com/confluence/rest/api/space?spaceKey=TST&spaceKey=ds`", "body": { "mode": "raw", "raw": "" } }, "response": [] }, { "name": "Creates a new Space.", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/space", "query": [], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Creates a new Space. The incoming Space does not include an id, but must include a Key and Name, and should include a Description.", "body": { "mode": "raw", "raw": "" } }, "response": [] }, { "name": "Get space", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/space/:spaceKey", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "a comma separated list of properties to expand on the space." } ], "variable": [ { "key": "spaceKey", "value": "{{spaceKey}}", "description": "the key of the space to update.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns information about a space. \n\nExample request URI: \n\n`http://example.com/confluence/rest/api/space/TST?expand=description`" }, "response": [] }, { "name": "Update Space", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/space/:spaceKey", "query": [], "variable": [ { "key": "spaceKey", "value": "{{spaceKey}}", "description": "the key of the space to update.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Updates a Space. The incoming Space must include a Key and Name, and should include a Description", "body": { "mode": "raw", "raw": "" } }, "response": [] }, { "name": "Delete Space", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/space/:spaceKey", "query": [], "variable": [ { "key": "spaceKey", "value": "{{spaceKey}}", "description": "the key of the space to update.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Deletes a Space. The space is deleted in a long running task, so the space cannot be considered deleted when this resource returns. Clients can follow the status link in the response and poll it until the task completes." }, "response": [] }, { "name": "Restore space", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/space/:spaceKey/restore", "query": [], "variable": [ { "key": "spaceKey", "value": "{{spaceKey}}", "description": "the key of the space to update.", "disabled": false } ] }, "method": "PUT", "header": [], "description": "Restore the given Space identified by spaceKey. This method is idempotent i.e., if the Space is already restored then no action will be taken." }, "response": [] } ] }, { "name": "Space Label", "item": [ { "name": "Fetch all labels", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/space/:spaceKey/labels", "query": [ { "key": "limit", "value": "{{limit}}", "disabled": true, "description": "the limit of the number of labels to return, this may be restricted by fixed system limits" }, { "key": "start", "value": "{{start}}", "disabled": true, "description": "the start point of the collection to return." } ], "variable": [ { "key": "spaceKey", "value": "{{spaceKey}}", "description": "a string containing the key of the space", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a paginated list of all Labels used by Content within the given Space. This includes Labels used by Pages, Blog Posts, and other Content types.\n\nExample request URI:\n`https://example.com/confluence/rest/api/space/TEST/labels`" }, "response": [] }, { "name": "Get popular labels", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/space/:spaceKey/labels/popular", "query": [ { "key": "limit", "value": "{{limit}}", "disabled": true, "description": "the limit of the number of labels to return, this may be restricted by fixed system limits" }, { "key": "start", "value": "{{start}}", "disabled": true, "description": "the start point of the collection to return." } ], "variable": [ { "key": "spaceKey", "value": "{{spaceKey}}", "description": "a string containing the key of the space", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a paginated list of all Labels used by Content within the given Space. This includes Labels used by Pages, Blog Posts, and other Content types.\n\nExample request URI(s):\n`https://example.com/confluence/rest/api/space/TEST/labels`" }, "response": [] }, { "name": "Get recent labels", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/space/:spaceKey/labels/recent", "query": [ { "key": "limit", "value": "{{limit}}", "disabled": true, "description": "the limit of the number of labels to return, this may be restricted by fixed system limits" }, { "key": "start", "value": "{{start}}", "disabled": true, "description": "the start point of the collection to return." } ], "variable": [ { "key": "spaceKey", "value": "{{spaceKey}}", "description": "a string containing the key of the space", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a paginated list of the most recent Labels used by Content within the given Space. This includes Labels used by Pages, Blog Posts, and other Content types.\n\nExample request URI:\n`https://example.com/confluence/rest/api/space/TEST/labels/recent`" }, "response": [] }, { "name": "Get related labels", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/space/:spaceKey/labels/:labelName/related", "query": [ { "key": "limit", "value": "{{limit}}", "disabled": true, "description": "the limit of the number of labels to return, this may be restricted by fixed system limits" }, { "key": "start", "value": "{{start}}", "disabled": true, "description": "the start point of the collection to return." } ], "variable": [ { "key": "spaceKey", "value": "{{spaceKey}}", "description": "a string containing the key of the space", "disabled": false }, { "key": "labelName", "value": "{{labelName}}", "description": "a string containing the name of the label", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a paginated list of related Labels used by Content within the given Space. A Label is defined as being related to another when it is found attached to the same Content as the Label specified in the request.\n\nExample request URI:\n`https://example.com/confluence/rest/api/space/TEST/labels/example-label/related`" }, "response": [] } ] }, { "name": "Space Property", "item": [ { "name": "Get space properties", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/space/:spaceKey/property", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "a comma separated list of properties to expand on the space properties. Default value: version." }, { "key": "limit", "value": "{{limit}}", "disabled": true, "description": "the limit of the number of items to return, this may be restricted by fixed system limits." }, { "key": "start", "value": "{{start}}", "disabled": true, "description": "he start point of the collection to return." } ], "variable": [ { "key": "spaceKey", "value": "{{spaceKey}}", "description": "The key of the space", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a paginated list of space properties. \n\nExample request URI: \n\n`http://example.com/confluence/rest/api/space/TST/property?expand=space,version`" }, "response": [] }, { "name": "Create a space property", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/space/:spaceKey/property", "query": [], "variable": [ { "key": "spaceKey", "value": "{{spaceKey}}", "description": "The key of the space", "disabled": false } ] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Creates a new space property.", "body": { "mode": "raw", "raw": "" } }, "response": [] }, { "name": "Get space property by key", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/space/:spaceKey/property/:key", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "a comma separated list of properties to expand on the space properties. Default value: version." }, { "key": "limit", "value": "{{limit}}", "disabled": true, "description": "the limit of the number of items to return, this may be restricted by fixed system limits." }, { "key": "start", "value": "{{start}}", "disabled": true, "description": "he start point of the collection to return." } ], "variable": [ { "key": "spaceKey", "value": "{{spaceKey}}", "description": "The key of the space", "disabled": false }, { "key": "key", "value": "{{key}}", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a space property. \n\nExample request URI: \n\n`http://example.com/confluence/rest/api/space/TST/property/example-property-key?expand=space,version`" }, "response": [] }, { "name": "Update space property", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/space/:spaceKey/property/:key", "query": [], "variable": [ { "key": "spaceKey", "value": "{{spaceKey}}", "description": "The key of the space", "disabled": false }, { "key": "key", "value": "{{key}}", "description": "the key of the property", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Updates a space property.The body contains the representation of the space property. Must include new version number.If the given version number is 1, attempts to create a new space property.", "body": { "mode": "raw", "raw": "" } }, "response": [] }, { "name": "Create a space property with a specific key", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/space/:spaceKey/property/:key", "query": [], "variable": [ { "key": "spaceKey", "value": "{{spaceKey}}", "description": "The key of the space", "disabled": false }, { "key": "key", "value": "{{key}}", "description": "property key of the property to be created", "disabled": false } ] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Create a space property with a specific key.", "body": { "mode": "raw", "raw": "" } }, "response": [] }, { "name": "Delete space property", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/space/:spaceKey/property/:key", "query": [], "variable": [ { "key": "spaceKey", "value": "{{spaceKey}}", "description": "The key of the space", "disabled": false }, { "key": "key", "value": "{{key}}", "description": "the key of the property.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Deletes a space property. \n\nExample request URI: \n\n`http://example.com/confluence/rest/api/space/TST/property/example-property-key?expand=space,version`" }, "response": [] } ] }, { "name": "Space Watchers", "item": [ { "name": "Fetch users watching space", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/space/:spaceKey/watchers", "query": [ { "key": "limit", "value": "{{limit}}", "disabled": true }, { "key": "start", "value": "{{start}}", "disabled": true } ], "variable": [ { "key": "spaceKey", "value": "{{spaceKey}}", "description": "the key of the Space the User is attempting to view.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a paginated list of users watching the given Space identified by spaceKey. Only a Confluence Administrator or Space Administrator can perform this action." }, "response": [] } ] }, { "name": "SpaceColorScheme", "item": [ { "name": "Get Space color scheme type", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/space/:spaceKey/color-scheme/type", "query": [], "variable": [ { "key": "spaceKey", "value": "{{spaceKey}}", "description": "Space key of the space to request color scheme type for.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Get the current color scheme type used for a space, it can be global or custom\n\n" }, "response": [] }, { "name": "Update Space color scheme type", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/space/:spaceKey/color-scheme/type", "query": [], "variable": [ { "key": "spaceKey", "value": "{{spaceKey}}", "description": "space key of the space to update color scheme type for.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Update the color scheme type used for a space, currently it can be global or custom\n\n", "body": { "mode": "raw", "raw": "" } }, "response": [] }, { "name": "Get Space color scheme", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/space/:spaceKey/color-scheme", "query": [], "variable": [ { "key": "spaceKey", "value": "{{spaceKey}}", "description": "space key of the space to request color scheme for.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Get information about the current color scheme for a space\n\n" }, "response": [] }, { "name": "Update Space color scheme", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/space/:spaceKey/color-scheme", "query": [], "variable": [ { "key": "spaceKey", "value": "{{spaceKey}}", "description": "space key of the space to set color scheme for.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Update the color scheme for a space\n\n", "body": { "mode": "raw", "raw": "" } }, "response": [] }, { "name": "Reset Space color scheme", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/space/:spaceKey/color-scheme/reset", "query": [], "variable": [ { "key": "spaceKey", "value": "{{spaceKey}}", "description": "Space key of the space to reset color scheme for.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Reset the space color scheme to use global color scheme\n\n" }, "response": [] } ] }, { "name": "User", "item": [ { "name": "Change password", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/user/current/password", "query": [], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Change the password for the current user. \n\n Validation Rules: \n\n- New password supplied cannot be null or blank\n\nExample request URI(s):\n\n`http://example.com/confluence/rest/api/user/current/password`", "body": { "mode": "raw", "raw": "" } }, "response": [] }, { "name": "Get information about anonymous user type", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/user/anonymous", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "properties to expand on the user." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Get information about how anonymous is represented in Confluence. Example request URI(s):\n\n`http://example.com/confluence/rest/api/user/anonymous`" }, "response": [] }, { "name": "Get current user", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/user/current", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "properties to expand on the user." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Get information about the current logged in user. Example request URI(s):\n\n`http://example.com/confluence/rest/api/user/current`" }, "response": [] }, { "name": "Get groups", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/user/memberof", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "properties to expand on the user." }, { "key": "limit", "value": "{{limit}}", "disabled": true, "description": "the limit of the number of users to return, this may be restricted by fixed system limits." }, { "key": "start", "value": "{{start}}", "disabled": true, "description": "the start point of the collection to return. This must be non-negative. Default value is 0." }, { "key": "key", "value": "{{key}}", "disabled": true, "description": "userkey of the user to request from this resource" }, { "key": "username", "value": "{{username}}", "disabled": true, "description": "userName of the user to get the groups for." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Get a paginated collection of groups that the given user is a member of. Example request URI(s):\n\n`http://example.com/confluence/rest/api/user/memberof?username=jblogs`\n`http://example.com/confluence/rest/api/user/memberof?key=402880824ff933a4014ff9345d7c0002`" }, "response": [] }, { "name": "Get user", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/user", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "properties to expand on the user." }, { "key": "key", "value": "{{key}}", "disabled": true, "description": "userkey of the user to request from this resource." }, { "key": "username", "value": "{{username}}", "disabled": true, "description": "userName of the user to create the new watcher for." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Get information about a user identified by either user key or username. Example request URI(s):\n\n`http://example.com/confluence/rest/api/user?username=jblogs`\n`http://example.com/confluence/rest/api/user?key=402880824ff933a4014ff9345d7c0002`" }, "response": [] }, { "name": "Get registered users", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/user/list", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "properties to expand on the user." }, { "key": "limit", "value": "{{limit}}", "disabled": true, "description": "the limit of the number of users to return, this may be restricted by fixed system limits." }, { "key": "start", "value": "{{start}}", "disabled": true, "description": "the start point of the collection to return. This must be non-negative. Default value is 0." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Gets a paginated collection of all registered users, including but not limited to:\n\n- Disabled users\n- Enabled users\n- Enabled users which count towards the license count on the site\n- Enabled users which do not count towards the license count on the site\n- Enabled users which have \"can use\" global permissions\n- Enabled users which do not have \"can use\" global permissions\n\nExample request URI(s):\n\n`http://example.com/confluence/rest/api/user/list`\n`http://example.com/confluence/rest/api/user/list?start=0`\n`http://example.com/confluence/rest/api/user/list?start=0&limit=100`\n`http://example.com/confluence/rest/api/user/list?start=0&limit=100&expand=status`" }, "response": [] } ] }, { "name": "User Group", "item": [ { "name": "Update user group", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/user/:username/group/:groupName", "query": [], "variable": [ { "key": "groupName", "value": "{{groupName}}", "description": "The group name identifying the given group.", "disabled": false }, { "key": "username", "value": "{{username}}", "description": "The username identifying the given user.", "disabled": false } ] }, "method": "PUT", "header": [], "description": "Add the given User identified by username to the given Group identified by groupName. \n\nThis method is idempotent i.e., if the membership already exists then no action will be taken." }, "response": [] }, { "name": "Delete user group", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/user/:username/group/:groupName", "query": [], "variable": [ { "key": "groupName", "value": "{{groupName}}", "description": "The group name identifying the given group.", "disabled": false }, { "key": "username", "value": "{{username}}", "description": "The username identifying the given user.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Removes the given User identified by username from the given Group identified by groupName. \n\nThis method is idempotent i.e., if the membership already exists then no action will be taken." }, "response": [] } ] }, { "name": "User Watch", "item": [ { "name": "Get information about content watcher", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/user/watch/content/:contentId", "query": [ { "key": "key", "value": "{{key}}", "disabled": true, "description": "userkey of the user to check for watching state." }, { "key": "username", "value": "{{username}}", "disabled": true, "description": "username of the user to check for watching state." } ], "variable": [ { "key": "contentId", "value": "{{contentId}}", "description": "id of the content.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Get information about whether a user is watching a specified content. User is optional. If not specified, currently logged-in user will be used. Otherwise, it can be specified by either user key or username. When a user is specified and is different from the logged-in user, the logged-in user needs to be a Confluence administrator. \n\n Example request URI(s):\n\n`http://example.com/confluence/rest/api/user/watch/content/131213`\n`http://example.com/confluence/rest/api/user/watch/content/131213?username=jblogs`\n`http://example.com/confluence/rest/api/user/watch/content/131213?key=ff8080815a58e24c015a58e263710000`" }, "response": [] }, { "name": "Add content watcher", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/user/watch/content/:contentId", "query": [ { "key": "key", "value": "{{key}}", "disabled": true, "description": "userkey of the user to check for watching state." }, { "key": "username", "value": "{{username}}", "disabled": true, "description": "username of the user to check for watching state." } ], "variable": [ { "key": "contentId", "value": "{{contentId}}", "description": "id of the content.", "disabled": false } ] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Create a new watcher for the given user and content id. User is optional. If not specified, currently logged-in user will be used. Otherwise, it can be specified by either user key or username. When a user is specified and is different from the logged-in user, the logged-in user needs to be a Confluence administrator. \n\n Example request URI(s):\n\n`http://example.com/confluence/rest/api/user/watch/content/131213`\n`http://example.com/confluence/rest/api/user/watch/content/131213?username=jblogs`\n`http://example.com/confluence/rest/api/user/watch/content/131213?key=ff8080815a58e24c015a58e263710000`" }, "response": [] }, { "name": "Remove content watcher", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/user/watch/content/:contentId", "query": [ { "key": "key", "value": "{{key}}", "disabled": true, "description": "userkey of the user to check for watching state." }, { "key": "username", "value": "{{username}}", "disabled": true, "description": "username of the user to check for watching state." } ], "variable": [ { "key": "contentId", "value": "{{contentId}}", "description": "id of the content.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Delete an existing watcher for the given user and content id. User is optional. If not specified, currently logged-in user will be used. Otherwise, it can be specified by either user key or username. When a user is specified and is different from the logged-in user, the logged-in user needs to be a Confluence administrator. \n\n Example request URI(s):\n\n`http://example.com/confluence/rest/api/user/watch/content/131213`\n`http://example.com/confluence/rest/api/user/watch/content/131213?username=jblogs`\n`http://example.com/confluence/rest/api/user/watch/content/131213?key=ff8080815a58e24c015a58e263710000`" }, "response": [] }, { "name": "Get information about space watcher", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/user/watch/space/:spaceKey", "query": [ { "key": "contentType", "value": "{{contentType}}", "disabled": true, "description": "an optional content type to check for watching state." }, { "key": "key", "value": "{{key}}", "disabled": true, "description": "userkey of the user to check for watching state." }, { "key": "username", "value": "{{username}}", "disabled": true, "description": "username of the user to check for watching state." } ], "variable": [ { "key": "spaceKey", "value": "{{spaceKey}}", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Get information about whether a user is watching a specified space. User is optional. If not specified, currently logged-in user will be used. Otherwise, it can be specified by either user key or username. When a user is specified and is different from the logged-in user, the logged-in user needs to be a Confluence administrator. \n\n Example request URI(s):\n\n`http://example.com/confluence/rest/api/user/watch/space/SPACEKEY`\n`http://example.com/confluence/rest/api/user/watch/space/SPACEKEY?username=jblogs`\n`http://example.com/confluence/rest/api/user/watch/space/SPACEKEY?key=ff8080815a58e24c015a58e263710000`\n`http://example.com/confluence/rest/api/user/watch/space/SPACEKEY?contentType=blostpost`" }, "response": [] }, { "name": "Add space watcher", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/user/watch/space/:spaceKey", "query": [ { "key": "contentType", "value": "{{contentType}}", "disabled": true, "description": "the optional content type to delete the watcher for." }, { "key": "key", "value": "{{key}}", "disabled": true, "description": "userKey of the user to create the new watcher for." }, { "key": "username", "value": "{{username}}", "disabled": true, "description": "userName of the user to create the new watcher for." } ], "variable": [ { "key": "spaceKey", "value": "{{spaceKey}}", "disabled": false } ] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Create a new watcher for the given user and space key. User is optional. If not specified, currently logged-in user will be used. Otherwise, it can be specified by either user key or username. When a user is specified and is different from the logged-in user, the logged-in user needs to be a Confluence administrator. \n\n Example request URI(s):\n\n`http://example.com/confluence/rest/api/user/watch/space/SPACEKEY`\n`http://example.com/confluence/rest/api/user/watch/space/SPACEKEY?username=jblogs`\n`http://example.com/confluence/rest/api/user/watch/space/SPACEKEY?key=ff8080815a58e24c015a58e263710000`\n`http://example.com/confluence/rest/api/user/watch/space/SPACEKEY?contentType=blogpost`" }, "response": [] }, { "name": "Remove space watcher", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/user/watch/space/:spaceKey", "query": [ { "key": "contentType", "value": "{{contentType}}", "disabled": true, "description": "the optional content type to delete the watcher for." }, { "key": "key", "value": "{{key}}", "disabled": true, "description": "userkey of the user to delete the watcher for." }, { "key": "username", "value": "{{username}}", "disabled": true, "description": "username of the user to delete the watcher for." } ], "variable": [ { "key": "spaceKey", "value": "{{spaceKey}}", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Delete an existing watcher for the given user and space key. User is optional. If not specified, currently logged-in user will be used. Otherwise, it can be specified by either user key or username. When a user is specified and is different from the logged-in user, the logged-in user needs to be a Confluence administrator. \n\n Example request URI(s):\n\n`http://example.com/confluence/rest/api/user/watch/space/SPACEKEY`\n`http://example.com/confluence/rest/api/user/watch/space/SPACEKEY?username=jblogs`\n`http://example.com/confluence/rest/api/user/watch/space/SPACEKEY?key=ff8080815a58e24c015a58e263710000`\n`http://example.com/confluence/rest/api/user/watch/space/SPACEKEY?contentType=blogpost`" }, "response": [] } ] }, { "name": "Webhooks", "item": [ { "name": "Find webhooks", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/webhooks", "query": [ { "key": "limit", "value": "{{limit}}", "disabled": true, "description": "the limit of the number of items to return, this may be restricted by fixed system limits." }, { "key": "start", "value": "{{start}}", "disabled": true, "description": "the start point of the collection to return" }, { "key": "event", "value": "{{event}}", "disabled": true, "description": "list of webhook event ids to filter for" }, { "key": "statistics", "value": "{{statistics}}", "disabled": true, "description": "if statistics should be provided for all found webhooks." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Find webhooks. The authenticated user must be an administrator to call this resource." }, "response": [] }, { "name": "Create webhook", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/webhooks", "query": [], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Create a webhook via the URL. The authenticated user must be an administrator to call this resource.", "body": { "mode": "raw", "raw": "" } }, "response": [] }, { "name": "Get webhook", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/webhooks/:webhookId", "query": [ { "key": "statistics", "value": "{{statistics}}", "disabled": true } ], "variable": [ { "key": "webhookId", "value": "{{webhookId}}", "description": "id of the webhook", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Get a webhook by id. The authenticated user must be an administrator to call this resource." }, "response": [] }, { "name": " Update webhook", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/webhooks/:webhookId", "query": [], "variable": [ { "key": "webhookId", "value": "{{webhookId}}", "description": "the existing webhook id", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": " Update an existing webhook. The authenticated user must be an administrator to call this resource.", "body": { "mode": "raw", "raw": "" } }, "response": [] }, { "name": "Delete webhook", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/webhooks/:webhookId", "query": [], "variable": [ { "key": "webhookId", "value": "{{webhookId}}", "description": "the id of the webhook to be deleted.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Delete a webhook via the URL. The authenticated user must be an administrator to call this resource." }, "response": [] }, { "name": "Get latest invocations", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/webhooks/:webhookId/latest", "query": [ { "key": "outcomes", "value": "{{outcomes}}", "disabled": true, "description": "the outcome to filter for. Can be SUCCESS, FAILURE, ERROR. None specified means that the all will be considered." }, { "key": "event", "value": "{{event}}", "disabled": true, "description": "the string id of a specific event to retrieve the last invocation for." }, { "key": "outcome", "value": "{{outcome}}", "disabled": true } ], "variable": [ { "key": "webhookId", "value": "{{webhookId}}", "description": "id of the webhook", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Get the latest invocations for a specific webhook. The authenticated user must be an administrator to call this resource." }, "response": [] }, { "name": "Get statistic", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/webhooks/:webhookId/statistics", "query": [ { "key": "event", "value": "{{event}}", "disabled": true, "description": "the string id of a specific event to retrieve the last invocation for." } ], "variable": [ { "key": "webhookId", "value": "{{webhookId}}", "description": "id of the webhook", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Get the statistics for a specific webhook. The authenticated user must be an administrator to call this resource." }, "response": [] }, { "name": "Get statistics summary", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/webhooks/:webhookId/statistics/summary", "query": [], "variable": [ { "key": "webhookId", "value": "{{webhookId}}", "description": "id of the webhook", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Get the statistics summary for a specific webhook. The authenticated user must be an administrator to call this resource." }, "response": [] }, { "name": "Test webhook", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/webhooks/test", "query": [ { "key": "url", "value": "{{url}}", "disabled": false, "description": "the url in which to connect to" } ], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Test connectivity to a specific endpoint. The authenticated user must be an administrator to call this resource." }, "response": [] } ] }, { "name": "Other operations", "item": [ { "name": "/rest/api/audit", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/audit", "query": [], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ] }, "response": [] }, { "name": "Get all space permissions", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/space/:spaceKey/permissions", "query": [], "variable": [ { "key": "spaceKey", "value": "{{spaceKey}}", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns list of permissions granted to users and groups in the particular space.\nExample request URI's:\n `https://example.com/confluence/rest/api/space/TESTSPACE/permissions`" }, "response": [] }, { "name": "Set permissions to multiple users/groups/anonymous user in the given space", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/space/:spaceKey/permissions", "query": [], "variable": [ { "key": "spaceKey", "value": "{{spaceKey}}", "disabled": false } ] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Sets permissions to multiple users/groups in the given space.\nRequest should contain all permissions that user/group/anonymous user will have in a given space.\nIf permission is absent in the request, but was granted before, it will be revoked.\nIf empty list of permissions passed to user/group/anonymous user, then all their existing permissions will be revoked.\nIf user/group/anonymous user not mentioned in the request, their permissions will not be revoked.\n\nMaximum 40 different users/groups/anonymous user could be passed in the request.\n\nExample request URI's:\n `https://example.com/confluence/rest/api/space/TESTSPACE/permissions`", "body": { "mode": "raw", "raw": "" } }, "response": [] }, { "name": "Gets the permissions granted to an anonymous user in a space", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/space/:spaceKey/permissions/anonymous", "query": [], "variable": [ { "key": "spaceKey", "value": "{{spaceKey}}", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns list of permissions granted to anonymous user in the particular space.\nExample request URI's:\n `https://example.com/confluence/rest/api/space/TESTSPACE/permissions/anonymous`" }, "response": [] }, { "name": "Gets the permissions granted to a group in a space", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/space/:spaceKey/permissions/group/:groupName", "query": [], "variable": [ { "key": "spaceKey", "value": "{{spaceKey}}", "disabled": false }, { "key": "groupName", "value": "{{groupName}}", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns list of permissions granted to a group in the particular space.\nExample request URI's:\n `https://example.com/confluence/rest/api/space/TESTSPACE/permissions/group/test-group-name`" }, "response": [] }, { "name": "Gets the permissions granted to a user in a space", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/space/:spaceKey/permissions/user/:userKey", "query": [], "variable": [ { "key": "spaceKey", "value": "{{spaceKey}}", "disabled": false }, { "key": "userKey", "value": "{{userKey}}", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns list of permissions granted to user in the particular space.\nExample request URI's:\n `https://example.com/confluence/rest/api/space/TESTSPACE/permissions/user/4028ae289154667d0191546bd5840000`" }, "response": [] }, { "name": "Grants space permissions to anonymous user", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/space/:spaceKey/permissions/anonymous/grant", "query": [], "variable": [ { "key": "spaceKey", "value": "{{spaceKey}}", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Grant permissions to anonymous user in the given space.\nOperation doesn't override existing permissions, will only add those one that weren't granted before.\nExample request URI's:\n `https://example.com/confluence/rest/api/space/TESTSPACE/permissions/anonymous/grant`", "body": { "mode": "raw", "raw": "" } }, "response": [] }, { "name": "Grants space permissions to a group", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/space/:spaceKey/permissions/group/:groupName/grant", "query": [], "variable": [ { "key": "spaceKey", "value": "{{spaceKey}}", "disabled": false }, { "key": "groupName", "value": "{{groupName}}", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Grant permissions to a group in the given space.\nOperation doesn't override existing permissions, will only add those one that weren't granted before.\nExample request URI's:\n `https://example.com/confluence/rest/api/space/TESTSPACE/permissions/group/test-group-name/grant`", "body": { "mode": "raw", "raw": "" } }, "response": [] }, { "name": "Grants space permissions to a user", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/space/:spaceKey/permissions/user/:userKey/grant", "query": [], "variable": [ { "key": "spaceKey", "value": "{{spaceKey}}", "disabled": false }, { "key": "userKey", "value": "{{userKey}}", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Grant permissions to a user in the given space.\nOperation doesn't override existing permissions, will only add those one that weren't granted before.\nExample request URI's:\n `https://example.com/confluence/rest/api/space/TESTSPACE/permissions/user/4028ae289154667d0191546bd5840000/grant`", "body": { "mode": "raw", "raw": "" } }, "response": [] }, { "name": "Revoke space permissions from anonymous user", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/space/:spaceKey/permissions/anonymous/revoke", "query": [], "variable": [ { "key": "spaceKey", "value": "{{spaceKey}}", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Revoke permissions from anonymous user in the given space.\nIf anonymous user doesn't have permissions that we are trying to revoke, those permissions will be silently skipped.\nExample request URI's:\n `https://example.com/confluence/rest/api/space/TESTSPACE/permissions/anonymous/revoke`", "body": { "mode": "raw", "raw": "" } }, "response": [] }, { "name": "Revoke space permissions from a group", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/space/:spaceKey/permissions/group/:groupName/revoke", "query": [], "variable": [ { "key": "spaceKey", "value": "{{spaceKey}}", "disabled": false }, { "key": "groupName", "value": "{{groupName}}", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Revoke permissions from a group in the given space.\nIf group doesn't have permissions that we are trying to revoke, those permissions will be silently skipped.\nExample request URI's:\n `https://example.com/confluence/rest/api/space/TESTSPACE/permissions/group/test-group-name/revoke`", "body": { "mode": "raw", "raw": "" } }, "response": [] }, { "name": "Revoke space permissions from a user", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/api/space/:spaceKey/permissions/user/:userKey/revoke", "query": [], "variable": [ { "key": "spaceKey", "value": "{{spaceKey}}", "disabled": false }, { "key": "userKey", "value": "{{userKey}}", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Revoke permissions from a user in the given space.\nIf user doesn't have permissions that we are trying to revoke, those permissions will be silently skipped.\nExample request URI's:\n `https://example.com/confluence/rest/api/space/TESTSPACE/permissions/user/4028ae289154667d0191546bd5840000/revoke`", "body": { "mode": "raw", "raw": "" } }, "response": [] } ] } ], "variable": [ { "key": "protocol", "name": "Protocol", "description": "The HTTP Protocol that should be used for this REST API.", "type": "string", "value": "http" }, { "key": "host", "name": "Host", "description": "The HTTP host that should be used for this REST API.", "type": "string", "value": "api.atlassian.com" }, { "key": "basePath", "name": "Base Path", "description": "The path, after the host, of the base of the REST API.", "type": "string", "value": "%7Bbaseurl%7D/confluence/" } ] }