{ "info": { "_postman_id": "9a27f2fb-0460-4fb6-9ebe-ded7c9700d5f", "name": "The Confluence Cloud REST API", "description": "This document describes the REST API and resources provided by Confluence. The REST APIs are for developers who want to integrate Confluence into their application and for administrators who want to script interactions with the Confluence server.Confluence's REST APIs provide access to resources (data entities) via URI paths. To use a REST API, your application will make an HTTP request and parse the response. The response format is JSON. Your methods will be the standard HTTP methods like GET, PUT, POST and DELETE. Because the REST API is based on open standards, you can use any web development language to access the API.", "schema": "https://schema.getpostman.com/json/collection/v2.0.0/collection.json" }, "item": [ { "name": "Audit", "description": "", "item": [ { "name": "Get audit records", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/audit", "query": [ { "key": "startDate", "value": "{{startDate}}", "disabled": true, "description": "Filters the results to the records on or after the `startDate`.\nThe `startDate` must be specified as [epoch time](https://www.epochconverter.com/) in milliseconds." }, { "key": "endDate", "value": "{{endDate}}", "disabled": true, "description": "Filters the results to the records on or before the `endDate`.\nThe `endDate` must be specified as [epoch time](https://www.epochconverter.com/) in milliseconds." }, { "key": "searchString", "value": "{{searchString}}", "disabled": true, "description": "Filters the results to records that have string property values\nmatching the `searchString`." }, { "key": "start", "value": "{{start}}", "disabled": true, "description": "The starting index of the returned records." }, { "key": "limit", "value": "{{limit}}", "disabled": true, "description": "The maximum number of records to return per page.\nNote, this may be restricted by fixed system limits." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns all records in the audit log, optionally for a certain date range.\nThis contains information about events like space exports, group membership\nchanges, app installations, etc. For more information, see\n[Audit log](https://confluence.atlassian.com/confcloud/audit-log-802164269.html)\nin the Confluence administrator's guide.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\n'Confluence Administrator' global permission.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Create audit record", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/audit", "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 record in the audit log.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\n'Confluence Administrator' global permission.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "" } }, "response": [] }, { "name": "Export audit records", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/audit/export", "query": [ { "key": "startDate", "value": "{{startDate}}", "disabled": true, "description": "Filters the exported results to the records on or after the `startDate`.\nThe `startDate` must be specified as [epoch time](https://www.epochconverter.com/) in milliseconds." }, { "key": "endDate", "value": "{{endDate}}", "disabled": true, "description": "Filters the exported results to the records on or before the `endDate`.\nThe `endDate` must be specified as [epoch time](https://www.epochconverter.com/) in milliseconds." }, { "key": "searchString", "value": "{{searchString}}", "disabled": true, "description": "Filters the exported results to records that have string property values\nmatching the `searchString`." }, { "key": "format", "value": "{{format}}", "disabled": true, "description": "The format of the export file for the audit records." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/zip" } ], "description": "Exports audit records as a CSV file or ZIP file.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\n'Confluence Administrator' global permission.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get retention period", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/audit/retention", "query": [], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the retention period for records in the audit log. The retention\nperiod is how long an audit record is kept for, from creation date until\nit is deleted.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\n'Confluence Administrator' global permission.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Set retention period", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/audit/retention", "query": [], "variable": [] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Sets the retention period for records in the audit log. The retention period\ncan be set to a maximum of 1 year.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\n'Confluence Administrator' global permission.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "" } }, "response": [] }, { "name": "Get audit records for time period", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/audit/since", "query": [ { "key": "number", "value": "{{number}}", "disabled": true, "description": "The number of units for the time period." }, { "key": "units", "value": "{{units}}", "disabled": true, "description": "The unit of time that the time period is measured in." }, { "key": "searchString", "value": "{{searchString}}", "disabled": true, "description": "Filters the results to records that have string property values\nmatching the `searchString`." }, { "key": "start", "value": "{{start}}", "disabled": true, "description": "The starting index of the returned records." }, { "key": "limit", "value": "{{limit}}", "disabled": true, "description": "The maximum number of records to return per page.\nNote, this may be restricted by fixed system limits." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns records from the audit log, for a time period back from the current\ndate. For example, you can use this method to get the last 3 months of records.\n\nThis contains information about events like space exports, group membership\nchanges, app installations, etc. For more information, see\n[Audit log](https://confluence.atlassian.com/confcloud/audit-log-802164269.html)\nin the Confluence administrator's guide.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\n'Confluence Administrator' global permission.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Analytics", "description": "", "item": [ { "name": "Get views", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/analytics/content/:contentId/views", "query": [ { "key": "fromDate", "value": "{{fromDate}}", "disabled": true, "description": "The number of views for the content since the date." } ], "variable": [ { "key": "contentId", "value": "{{contentId}}", "description": "The ID of the content to get the views for.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Get the total number of views a piece of content has.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get viewers", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/analytics/content/:contentId/viewers", "query": [ { "key": "fromDate", "value": "{{fromDate}}", "disabled": true, "description": "The number of views for the content since the date." } ], "variable": [ { "key": "contentId", "value": "{{contentId}}", "description": "The ID of the content to get the viewers for.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Get the total number of distinct viewers a piece of content has.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Content", "description": "", "item": [ { "name": "Archive pages", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/content/archive", "query": [], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Archives a list of pages. The pages to be archived are specified as a list of content IDs.\nThis API accepts the archival request and returns a task ID.\nThe archival process happens asynchronously.\nUse the /longtask/ REST API to get the copy task status.\n\nEach content ID needs to resolve to page objects that are not already in an archived state.\nThe content IDs need not belong to the same space.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\n'Archive' permission for each of the pages in the corresponding space it belongs to.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "" } }, "response": [] }, { "name": "Publish shared draft", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/content/blueprint/instance/:draftId", "query": [ { "key": "status", "value": "{{status}}", "disabled": true, "description": "The status of the content to be updated, i.e. the draft. This is set\nto 'draft' by default, so you shouldn't need to specify it." }, { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "A multi-value parameter indicating which properties of the content to expand.\n\n- `childTypes.all` returns whether the content has attachments, comments, or child pages/whiteboards.\nUse this if you only need to check whether the content has children of a particular type.\n- `childTypes.attachment` returns whether the content has attachments.\n- `childTypes.comment` returns whether the content has comments.\n- `childTypes.page` returns whether the content has child pages.\n- `childTypes.whiteboard` returns whether the content has child whiteboards.\n- `childTypes.database` returns whether the content has child databases.\n- `childTypes.embed` returns whether the content has child embeds (smartlinks).\n- `childTypes.folder` returns whether the content has child folders.\n- `container` returns the space that the content is in. This is the same as the information\nreturned by [Get space](#api-space-spaceKey-get).\n- `metadata.currentuser` returns information about the current user in relation to the content,\nincluding when they last viewed it, modified it, contributed to it, or added it as a favorite.\n- `metadata.properties` returns content properties that have been set via the Confluence REST API.\n- `metadata.labels` returns the labels that have been added to the content.\n- `metadata.frontend` this property is only used by Atlassian.\n- `operations` returns the operations for the content, which are used when setting permissions.\n- `children.page` returns pages that are descendants at the level immediately below the content.\n- `children.whiteboard` returns whiteboards that are descendants at the level immediately below the content.\n- `children.database` returns databases that are descendants at the level immediately below the content.\n- `children.embed` returns embeds (smartlinks) that are descendants at the level immediately below the content.\n- `children.folder` returns folders that are descendants at the level immediately below the content.\n- `children.attachment` returns all attachments for the content.\n- `children.comment` returns all comments on the content.\n- `restrictions.read.restrictions.user` returns the users that have permission to read the content.\n- `restrictions.read.restrictions.group` returns the groups that have permission to read the content. Note that\nthis may return deleted groups, because deleting a group doesn't remove associated restrictions.\n- `restrictions.update.restrictions.user` returns the users that have permission to update the content.\n- `restrictions.update.restrictions.group` returns the groups that have permission to update the content. Note that\nthis may return deleted groups because deleting a group doesn't remove associated restrictions.\n- `history` returns the history of the content, including the date it was created.\n- `history.lastUpdated` returns information about the most recent update of the content, including\nwho updated it and when it was updated.\n- `history.previousVersion` returns information about the update prior to the current content update.\n- `history.contributors` returns all of the users who have contributed to the content.\n- `history.nextVersion` returns information about the update after to the current content update.\n- `ancestors` returns the parent content, if the content is a page or whiteboard.\n- `body` returns the body of the content in different formats, including the editor format,\nview format, and export format.\n- `body.storage` returns the body of content in storage format.\n- `body.view` returns the body of content in view format.\n- `version` returns information about the most recent update of the content, including who updated it\nand when it was updated.\n- `descendants.page` returns pages that are descendants at any level below the content.\n- `descendants.whiteboard` returns whiteboards that are descendants at any level below the content.\n- `descendants.database` returns databases that are descendants at any level below the content.\n- `descendants.embed` returns embeds (smartlinks) that are descendants at any level below the content.\n- `descendants.folder` returns folders that are descendants at any level below the content.\n- `descendants.attachment` returns all attachments for the content, same as `children.attachment`.\n- `descendants.comment` returns all comments on the content, same as `children.comment`.\n- `space` returns the space that the content is in. This is the same as the information returned by\n[Get space](#api-space-spaceKey-get).\n\nIn addition, the following comment-specific expansions can be used:\n- `extensions.inlineProperties` returns inline comment-specific properties.\n- `extensions.resolution` returns the resolution status of each comment." } ], "variable": [ { "key": "draftId", "value": "{{draftId}}", "description": "The ID of the draft page that was created from a blueprint.\nYou can find the `draftId` in the Confluence application by\nopening the draft page and checking the page URL.", "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 page created from a blueprint.\n\nBy default, the following objects are expanded: `body.storage`, `history`, `space`, `version`, `ancestors`.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\nPermission to view the draft and 'Add' permission for the space that\nthe content will be created in.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "" } }, "response": [] }, { "name": "Publish legacy draft", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/content/blueprint/instance/:draftId", "query": [ { "key": "status", "value": "{{status}}", "disabled": true, "description": "The status of the content to be updated, i.e. the draft. This is set\nto 'draft' by default, so you shouldn't need to specify it." }, { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "A multi-value parameter indicating which properties of the content to expand.\n\n- `childTypes.all` returns whether the content has attachments, comments, or child pages/whiteboards.\nUse this if you only need to check whether the content has children of a particular type.\n- `childTypes.attachment` returns whether the content has attachments.\n- `childTypes.comment` returns whether the content has comments.\n- `childTypes.page` returns whether the content has child pages.\n- `childTypes.whiteboard` returns whether the content has child whiteboards.\n- `childTypes.database` returns whether the content has child databases.\n- `childTypes.embed` returns whether the content has child embeds (smartlinks).\n- `childTypes.folder` returns whether the content has child folders.\n- `container` returns the space that the content is in. This is the same as the information\nreturned by [Get space](#api-space-spaceKey-get).\n- `metadata.currentuser` returns information about the current user in relation to the content,\nincluding when they last viewed it, modified it, contributed to it, or added it as a favorite.\n- `metadata.properties` returns content properties that have been set via the Confluence REST API.\n- `metadata.labels` returns the labels that have been added to the content.\n- `metadata.frontend` this property is only used by Atlassian.\n- `operations` returns the operations for the content, which are used when setting permissions.\n- `children.page` returns pages that are descendants at the level immediately below the content.\n- `children.whiteboard` returns whiteboards that are descendants at the level immediately below the content.\n- `children.database` returns databases that are descendants at the level immediately below the content.\n- `children.embed` returns embeds (smartlinks) that are descendants at the level immediately below the content.\n- `children.folder` returns folders that are descendants at the level immediately below the content.\n- `children.attachment` returns all attachments for the content.\n- `children.comment` returns all comments on the content.\n- `restrictions.read.restrictions.user` returns the users that have permission to read the content.\n- `restrictions.read.restrictions.group` returns the groups that have permission to read the content. Note that\nthis may return deleted groups, because deleting a group doesn't remove associated restrictions.\n- `restrictions.update.restrictions.user` returns the users that have permission to update the content.\n- `restrictions.update.restrictions.group` returns the groups that have permission to update the content. Note that\nthis may return deleted groups because deleting a group doesn't remove associated restrictions.\n- `history` returns the history of the content, including the date it was created.\n- `history.lastUpdated` returns information about the most recent update of the content, including\nwho updated it and when it was updated.\n- `history.previousVersion` returns information about the update prior to the current content update.\n- `history.contributors` returns all of the users who have contributed to the content.\n- `history.nextVersion` returns information about the update after to the current content update.\n- `ancestors` returns the parent content, if the content is a page or whiteboard.\n- `body` returns the body of the content in different formats, including the editor format,\nview format, and export format.\n- `body.storage` returns the body of content in storage format.\n- `body.view` returns the body of content in view format.\n- `version` returns information about the most recent update of the content, including who updated it\nand when it was updated.\n- `descendants.page` returns pages that are descendants at any level below the content.\n- `descendants.whiteboard` returns whiteboards that are descendants at any level below the content.\n- `descendants.database` returns databases that are descendants at any level below the content.\n- `descendants.embed` returns embeds (smartlinks) that are descendants at any level below the content.\n- `descendants.folder` returns folders that are descendants at any level below the content.\n- `descendants.attachment` returns all attachments for the content, same as `children.attachment`.\n- `descendants.comment` returns all comments on the content, same as `children.comment`.\n- `space` returns the space that the content is in. This is the same as the information returned by\n[Get space](#api-space-spaceKey-get).\n\nIn addition, the following comment-specific expansions can be used:\n- `extensions.inlineProperties` returns inline comment-specific properties.\n- `extensions.resolution` returns the resolution status of each comment." } ], "variable": [ { "key": "draftId", "value": "{{draftId}}", "description": "The ID of the draft page that was created from a blueprint.\nYou can find the `draftId` in the Confluence application by\nopening the draft page and checking the page URL.", "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 page created from a blueprint. Legacy drafts\nwill eventually be removed in favor of shared drafts. For now, this method\nworks the same as [Publish shared draft](#api-content-blueprint-instance-draftId-put).\n\nBy default, the following objects are expanded: `body.storage`, `history`, `space`, `version`, `ancestors`.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\nPermission to view the draft and 'Add' permission for the space that\nthe content will be created in.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "" } }, "response": [] }, { "name": "Search content by CQL", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/content/search", "query": [ { "key": "cql", "value": "{{cql}}", "disabled": false, "description": "The CQL string that is used to find the requested content." }, { "key": "cqlcontext", "value": "{{cqlcontext}}", "disabled": true, "description": "The space, content, and content status to execute the search against.\nSpecify this as an object with the following properties:\n\n- `spaceKey` Key of the space to search against. Optional.\n- `contentId` ID of the content to search against. Optional. Must\nbe in the space spacified by `spaceKey`.\n- `contentStatuses` Content statuses to search against. Optional." }, { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "A multi-value parameter indicating which properties of the content to expand.\n\n- `childTypes.all` returns whether the content has attachments, comments, or child pages/whiteboards.\nUse this if you only need to check whether the content has children of a particular type.\n- `childTypes.attachment` returns whether the content has attachments.\n- `childTypes.comment` returns whether the content has comments.\n- `childTypes.page` returns whether the content has child pages.\n- `childTypes.whiteboard` returns whether the content has child whiteboards.\n- `childTypes.database` returns whether the content has child databases.\n- `childTypes.embed` returns whether the content has child embeds (smartlinks).\n- `childTypes.folder` returns whether the content has child folders.\n- `container` returns the space that the content is in. This is the same as the information\nreturned by [Get space](#api-space-spaceKey-get).\n- `metadata.currentuser` returns information about the current user in relation to the content,\nincluding when they last viewed it, modified it, contributed to it, or added it as a favorite.\n- `metadata.properties` returns content properties that have been set via the Confluence REST API.\n- `metadata.labels` returns the labels that have been added to the content.\n- `metadata.frontend` this property is only used by Atlassian.\n- `operations` returns the operations for the content, which are used when setting permissions.\n- `children.page` returns pages that are descendants at the level immediately below the content.\n- `children.whiteboard` returns whiteboards that are descendants at the level immediately below the content.\n- `children.database` returns databases that are descendants at the level immediately below the content.\n- `children.embed` returns embeds (smartlinks) that are descendants at the level immediately below the content.\n- `children.folder` returns folders that are descendants at the level immediately below the content.\n- `children.attachment` returns all attachments for the content.\n- `children.comment` returns all comments on the content.\n- `restrictions.read.restrictions.user` returns the users that have permission to read the content.\n- `restrictions.read.restrictions.group` returns the groups that have permission to read the content. Note that\nthis may return deleted groups, because deleting a group doesn't remove associated restrictions.\n- `restrictions.update.restrictions.user` returns the users that have permission to update the content.\n- `restrictions.update.restrictions.group` returns the groups that have permission to update the content. Note that\nthis may return deleted groups because deleting a group doesn't remove associated restrictions.\n- `history` returns the history of the content, including the date it was created.\n- `history.lastUpdated` returns information about the most recent update of the content, including\nwho updated it and when it was updated.\n- `history.previousVersion` returns information about the update prior to the current content update.\n- `history.contributors` returns all of the users who have contributed to the content.\n- `history.nextVersion` returns information about the update after to the current content update.\n- `ancestors` returns the parent content, if the content is a page or whiteboard.\n- `body` returns the body of the content in different formats, including the editor format,\nview format, and export format.\n- `body.storage` returns the body of content in storage format.\n- `body.view` returns the body of content in view format.\n- `version` returns information about the most recent update of the content, including who updated it\nand when it was updated.\n- `descendants.page` returns pages that are descendants at any level below the content.\n- `descendants.whiteboard` returns whiteboards that are descendants at any level below the content.\n- `descendants.database` returns databases that are descendants at any level below the content.\n- `descendants.embed` returns embeds (smartlinks) that are descendants at any level below the content.\n- `descendants.folder` returns folders that are descendants at any level below the content.\n- `descendants.attachment` returns all attachments for the content, same as `children.attachment`.\n- `descendants.comment` returns all comments on the content, same as `children.comment`.\n- `space` returns the space that the content is in. This is the same as the information returned by\n[Get space](#api-space-spaceKey-get).\n\nIn addition, the following comment-specific expansions can be used:\n- `extensions.inlineProperties` returns inline comment-specific properties.\n- `extensions.resolution` returns the resolution status of each comment." }, { "key": "cursor", "value": "{{cursor}}", "disabled": true, "description": "Pointer to a set of search results, returned as part of the `next` or `prev` URL from the previous search call." }, { "key": "limit", "value": "{{limit}}", "disabled": true, "description": "The maximum number of content objects to return per page.\nNote, this may be restricted by fixed system limits." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the list of content that matches a Confluence Query Language\n(CQL) query. For information on CQL, see:\n[Advanced searching using CQL](https://developer.atlassian.com/cloud/confluence/advanced-searching-using-cql/).\n\nExample initial call:\n```\n/wiki/rest/api/content/search?cql=type=page&limit=25\n```\n\nExample response:\n```\n{\n \"results\": [\n { ... },\n { ... },\n ...\n { ... }\n ],\n \"limit\": 25,\n \"size\": 25,\n ...\n \"_links\": {\n \"base\": \"\",\n \"context\": \"\",\n \"next\": \"/rest/api/content/search?cql=type=page&limit=25&cursor=raNDoMsTRiNg\",\n \"self\": \"\"\n }\n}\n```\n\nWhen additional results are available, returns `next` and `prev` URLs to retrieve them in subsequent calls. The URLs each contain a cursor that points to the appropriate set of results. Use `limit` to specify the number of results returned in each call.\nExample subsequent call (taken from example response):\n```\n/wiki/rest/api/content/search?cql=type=page&limit=25&cursor=raNDoMsTRiNg\n```\nThe response to this will have a `prev` URL similar to the `next` in the example response.\n\nIf the expand query parameter is used with the `body.export_view` and/or `body.styled_view` properties, then the query limit parameter will be restricted to a maximum value of 25.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\nPermission to access the Confluence site ('Can use' global permission).\nOnly content that the user has permission to view will be returned.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Content - attachments", "description": "", "item": [ { "name": "Create or update attachment", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/content/:id/child/attachment", "query": [ { "key": "status", "value": "{{status}}", "disabled": true, "description": "The status of the content that the attachment is being added to.\nThis should always be set to 'current'." } ], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the content to add the attachment to.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "multipart/form-data" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Adds an attachment to a piece of content. If the attachment already exists\nfor the content, then the attachment is updated (i.e. a new version of the\nattachment is created).\n\nNote, you must set a `X-Atlassian-Token: nocheck` header on the request\nfor this method, otherwise it will be blocked. This protects against XSRF\nattacks, which is necessary as this method accepts multipart/form-data.\n\nThe media type 'multipart/form-data' is defined in [RFC 7578](https://www.ietf.org/rfc/rfc7578.txt).\nMost client libraries have classes that make it easier to implement\nmultipart posts, like the [MultipartEntityBuilder](https://hc.apache.org/httpcomponents-client-5.1.x/current/httpclient5/apidocs/)\nJava class provided by Apache HTTP Components.\n\nNote, according to [RFC 7578](https://tools.ietf.org/html/rfc7578#section-4.5),\nin the case where the form data is text,\nthe charset parameter for the \"text/plain\" Content-Type may be used to\nindicate the character encoding used in that part. In the case of this\nAPI endpoint, the `comment` body parameter should be sent with `type=text/plain`\nand `charset=utf-8` values. This will force the charset to be UTF-8.\n\nExample: This curl command attaches a file ('example.txt') to a piece of\ncontent (id='123') with a comment and `minorEdits`=true. If the 'example.txt'\nfile already exists, it will update it with a new version of the attachment.\n\n``` bash\ncurl -D- \\\n -u admin:admin \\\n -X PUT \\\n -H 'X-Atlassian-Token: nocheck' \\\n -F 'file=@\"example.txt\"' \\\n -F 'minorEdit=\"true\"' \\\n -F 'comment=\"Example attachment comment\"; type=text/plain; charset=utf-8' \\\n http://myhost/rest/api/content/123/child/attachment\n```\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\nPermission to update the content.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "formdata", "formdata": [ { "key": "file", "description": "The relative location and name of the attachment to be added to\nthe content.", "disabled": false, "type": "file" }, { "key": "comment", "description": "The comment for the attachment that is being added.\nIf you specify a comment, then every file must have a comment and\nthe comments must be in the same order as the files. Alternatively,\ndon't specify any comments.", "disabled": true, "type": "file" }, { "key": "minorEdit", "description": "If `minorEdits` is set to 'true', no notification email or activity stream\nwill be generated when the attachment is added to the content.", "disabled": false, "type": "file" } ] } }, "response": [] }, { "name": "Create attachment", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/content/:id/child/attachment", "query": [ { "key": "status", "value": "{{status}}", "disabled": true, "description": "The status of the content that the attachment is being added to." } ], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the content to add the attachment to.", "disabled": false } ] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "multipart/form-data" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Adds an attachment to a piece of content. This method only adds a new\nattachment. If you want to update an existing attachment, use\n[Create or update attachments](#api-content-id-child-attachment-put).\n\nNote, you must set a `X-Atlassian-Token: nocheck` header on the request\nfor this method, otherwise it will be blocked. This protects against XSRF\nattacks, which is necessary as this method accepts multipart/form-data.\n\nThe media type 'multipart/form-data' is defined in [RFC 7578](https://www.ietf.org/rfc/rfc7578.txt).\nMost client libraries have classes that make it easier to implement\nmultipart posts, like the [MultipartEntityBuilder](https://hc.apache.org/httpcomponents-client-5.1.x/current/httpclient5/apidocs/)\nJava class provided by Apache HTTP Components.\n\nNote, according to [RFC 7578](https://tools.ietf.org/html/rfc7578#section-4.5),\nin the case where the form data is text,\nthe charset parameter for the \"text/plain\" Content-Type may be used to\nindicate the character encoding used in that part. In the case of this\nAPI endpoint, the `comment` body parameter should be sent with `type=text/plain`\nand `charset=utf-8` values. This will force the charset to be UTF-8.\n\nExample: This curl command attaches a file ('example.txt') to a container\n(id='123') with a comment and `minorEdits`=true.\n\n``` bash\ncurl -D- \\\n -u admin:admin \\\n -X POST \\\n -H 'X-Atlassian-Token: nocheck' \\\n -F 'file=@\"example.txt\"' \\\n -F 'minorEdit=\"true\"' \\\n -F 'comment=\"Example attachment comment\"; type=text/plain; charset=utf-8' \\\n https://myhost/wiki/rest/api/content/123/child/attachment\n```\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\nPermission to update the content.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "formdata", "formdata": [ { "key": "file", "description": "The relative location and name of the attachment to be added to\nthe content.", "disabled": false, "type": "file" }, { "key": "comment", "description": "The comment for the attachment that is being added.\nIf you specify a comment, then every file must have a comment and\nthe comments must be in the same order as the files. Alternatively,\ndon't specify any comments.", "disabled": true, "type": "file" }, { "key": "minorEdit", "description": "If `minorEdits` is set to 'true', no notification email or activity stream\nwill be generated when the attachment is added to the content.", "disabled": false, "type": "file" } ] } }, "response": [] }, { "name": "Update attachment properties", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/content/:id/child/attachment/:attachmentId", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the content that the attachment is attached to.", "disabled": false }, { "key": "attachmentId", "value": "{{attachmentId}}", "description": "The ID of the attachment 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 the attachment properties, i.e. the non-binary data of an attachment\nlike the filename, media-type, comment, and parent container.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\nPermission to update the content.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "" } }, "response": [] }, { "name": "Update attachment data", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/content/:id/child/attachment/:attachmentId/data", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the content that the attachment is attached to.", "disabled": false }, { "key": "attachmentId", "value": "{{attachmentId}}", "description": "The ID of the attachment to update.", "disabled": false } ] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "multipart/form-data" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Updates the binary data of an attachment, given the attachment ID, and\noptionally the comment and the minor edit field.\n\nThis method is essentially the same as [Create or update attachments](#api-content-id-child-attachment-put),\nexcept that it matches the attachment ID rather than the name.\n\nNote, you must set a `X-Atlassian-Token: nocheck` header on the request\nfor this method, otherwise it will be blocked. This protects against XSRF\nattacks, which is necessary as this method accepts multipart/form-data.\n\nThe media type 'multipart/form-data' is defined in [RFC 7578](https://www.ietf.org/rfc/rfc7578.txt).\nMost client libraries have classes that make it easier to implement\nmultipart posts, like the [MultipartEntityBuilder](https://hc.apache.org/httpcomponents-client-5.1.x/current/httpclient5/apidocs/)\nJava class provided by Apache HTTP Components.\n\nNote, according to [RFC 7578](https://tools.ietf.org/html/rfc7578#section-4.5),\nin the case where the form data is text,\nthe charset parameter for the \"text/plain\" Content-Type may be used to\nindicate the character encoding used in that part. In the case of this\nAPI endpoint, the `comment` body parameter should be sent with `type=text/plain`\nand `charset=utf-8` values. This will force the charset to be UTF-8.\n\nExample: This curl command updates an attachment (id='att456') that is attached\nto a piece of content (id='123') with a comment and `minorEdits`=true.\n\n``` bash\ncurl -D- \\\n -u admin:admin \\\n -X POST \\\n -H 'X-Atlassian-Token: nocheck' \\\n -F 'file=@\"example.txt\"' \\\n -F 'minorEdit=\"true\"' \\\n -F 'comment=\"Example attachment comment\"; type=text/plain; charset=utf-8' \\\n http://myhost/rest/api/content/123/child/attachment/att456/data\n```\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\nPermission to update the content.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "formdata", "formdata": [ { "key": "file", "description": "The relative location and name of the attachment to be added to\nthe content.", "disabled": false, "type": "file" }, { "key": "comment", "description": "The comment for the attachment that is being added.\nIf you specify a comment, then every file must have a comment and\nthe comments must be in the same order as the files. Alternatively,\ndon't specify any comments.", "disabled": true, "type": "file" }, { "key": "minorEdit", "description": "If `minorEdits` is set to 'true', no notification email or activity stream\nwill be generated when the attachment is added to the content.", "disabled": false, "type": "file" } ] } }, "response": [] }, { "name": "Get URI to download attachment", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/content/:id/child/attachment/:attachmentId/download", "query": [ { "key": "version", "value": "{{version}}", "disabled": true, "description": "The version of the attachment. If this parameter is absent, the redirect URI will download the latest version of the attachment." }, { "key": "status", "value": "{{status}}", "disabled": true, "description": "The statuses allowed on the retrieved attachment. If this parameter is absent, it will default to `current`." } ], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the content that the attachment is attached to.", "disabled": false }, { "key": "attachmentId", "value": "{{attachmentId}}", "description": "The ID of the attachment to download.", "disabled": false } ] }, "method": "GET", "header": [], "description": "Redirects the client to a URL that serves an attachment's binary data.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Content body", "description": "", "item": [ { "name": "Asynchronously convert content body", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/contentbody/convert/async/:to", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "A multi-value parameter indicating which properties of the content to expand and populate. Expands are dependent on the\n`to` conversion format and may be irrelevant for certain conversions (e.g. `macroRenderedOutput` is redundant when\nconverting to `view` format). \n\nIf rendering to `view` format, and the body content being converted includes arbitrary nested content (such as macros); then it is \nnecessary to include webresource expands in the request. Webresources for content body are the batched JS and CSS dependencies for\nany nested dynamic content (i.e. macros).\n\n- `embeddedContent` returns metadata for nested content (e.g. page included using page include macro)\n- `mediaToken` returns JWT token for retrieving attachment data from Media API\n- `macroRenderedOutput` additionally converts body to view format\n- `webresource.superbatch.uris.js` returns all common JS dependencies as static URLs\n- `webresource.superbatch.uris.css` returns all common CSS dependencies as static URLs\n- `webresource.superbatch.uris.all` returns all common dependencies as static URLs\n- `webresource.superbatch.tags.all` returns all common JS dependencies as html `` tags\n- `webresource.superbatch.tags.css` returns all common CSS dependencies as html `` tags\n- `webresource.superbatch.tags.js` returns all common dependencies as html `` and `` tags\n- `webresource.uris.js` returns JS dependencies specific to conversion\n- `webresource.uris.css` returns CSS dependencies specific to conversion\n- `webresource.uris.all` returns all dependencies specific to conversion \n- `webresource.tags.all` returns common JS dependencies as html `` tags\n- `webresource.tags.css` returns common CSS dependencies as html `` tags\n- `webresource.tags.js` returns common dependencies as html `` and `` tags" }, { "key": "spaceKeyContext", "value": "{{spaceKeyContext}}", "disabled": true, "description": "The space key used for resolving embedded content (page includes,\nfiles, and links) in the content body. For example, if the source content\ncontains the link ``\nand the `spaceKeyContext=TEST` parameter is provided, then the link\nwill be converted to a link to the \"Example page\" page in the \"TEST\" space." }, { "key": "contentIdContext", "value": "{{contentIdContext}}", "disabled": true, "description": "The content ID used to find the space for resolving embedded content\n(page includes, files, and links) in the content body. For example,\nif the source content contains the link ``\nand the `contentIdContext=123` parameter is provided, then the link\nwill be converted to a link to the \"Example page\" page in the same space\nthat has the content with ID=123. Note, `spaceKeyContext` will be ignored\nif this parameter is provided." }, { "key": "allowCache", "value": "{{allowCache}}", "disabled": true, "description": "If this field is false, the cache will erase its current value and begin a new conversion.\nIf this field is true, the cache will not erase its current value, and will set the status of the\nasync conversion to RERUNNING. Once the data is updated, the status will change to COMPLETED. \nLarge macros that take long to convert, and whose data need not immediately up to date (same as previous conversion's result within last 5 minutes)\nshould set this fields to true. Cache values are stored per user per content body and expansions." }, { "key": "embeddedContentRender", "value": "{{embeddedContentRender}}", "disabled": true, "description": "Mode used for rendering embedded content, like attachments.\n\n- `current` renders the embedded content using the latest version.\n- `version-at-save` renders the embedded content using the version at\nthe time of save." } ], "variable": [ { "key": "to", "value": "{{to}}", "description": "The name of the target format for the content body.", "disabled": false } ] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Converts a content body from one format to another format asynchronously.\nReturns the asyncId for the asynchronous task.\n\nSupported conversions:\n\n- atlas_doc_format: editor, export_view, storage, styled_view, view\n- storage: atlas_doc_format, editor, export_view, styled_view, view\n- editor: storage\n\nNo other conversions are supported at the moment.\nOnce a conversion is completed, it will be available for 5 minutes at the result endpoint.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\nIf request specifies 'contentIdContext', 'View' permission for the space, and permission to view the content.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "" } }, "response": [] }, { "name": "Get asynchronously converted content body from the id or the current status of the task.", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/contentbody/convert/async/:id", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The asyncId of the macro task to get the converted body.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the asynchronous content body for the corresponding id if the task is complete \nor returns the status of the task.\n\nAfter the task is completed, the result can be obtained for 5 minutes, or until an identical conversion request is made again,\nwith allowCache query param set to false.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\nIf request specifies 'contentIdContext', 'View' permission for the space, and permission to view the content.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get asynchronous content body conversion task result in bulk", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/contentbody/convert/async/bulk/tasks", "query": [ { "key": "ids", "value": "{{ids}}", "disabled": false, "description": "The asyncIds of the conversion tasks." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the content body for the corresponding `asyncId` of a completed conversion task. If\nthe task is not completed, the task status is returned instead.\n\nOnce a conversion task is completed, the result can be obtained for up to 5 minutes, or\nuntil an identical conversion request is made again with the `allowCache` parameter set to\nfalse.\n\nNote that there is a maximum limit of 50 task results per request to this endpoint.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\nPermission to access the Confluence site ('Can use' global permission).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Create asynchronous content body conversion tasks in bulk", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/contentbody/convert/async/bulk/tasks", "query": [], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Asynchronously converts content bodies from one format to another format in bulk. Use the Content body\nREST API to get the status of conversion tasks. Note that there is a maximum limit of 10 conversions per\nrequest to this endpoint.\n\nSupported conversions:\n\n- storage: editor, export_view, styled_view, view\n- editor: storage\n\nOnce a conversion task is completed, it is available for polling for up to 5 minutes.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\n'View' permission for the space, and permission to view the content if the `spaceKeyContext` or\n`contentIdContext` are present.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "" } }, "response": [] } ] }, { "name": "Content - children and descendants", "description": "", "item": [ { "name": "Move a page to a new location relative to a target page", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/content/:pageId/move/:position/:targetId", "query": [], "variable": [ { "key": "pageId", "value": "{{pageId}}", "description": "The ID of the page to be moved", "disabled": false }, { "key": "position", "value": "{{position}}", "description": "The position to move the page to relative to the target page:\n* `before` - move the page under the same parent as the target, before the target in the list of children\n* `after` - move the page under the same parent as the target, after the target in the list of children\n* `append` - move the page to be a child of the target", "disabled": false }, { "key": "targetId", "value": "{{targetId}}", "description": "The ID of the target page for this operation", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Move a page to a new location relative to a target page:\n\n* `before` - move the page under the same parent as the target, before the target in the list of children\n* `after` - move the page under the same parent as the target, after the target in the list of children\n* `append` - move the page to be a child of the target\n\nCaution: This API can move pages to the top level of a space. Top-level pages are difficult to find in the UI\nbecause they do not show up in the page tree display. To avoid this, never use `before` or `after` positions\nwhen the `targetId` is a top-level page.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get content descendants", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/content/:id/descendant", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "A multi-value parameter indicating which properties of the children to\nexpand, where:\n\n- `attachment` returns all attachments for the content.\n- `comments` returns all comments for the content.\n- `page` returns all child pages of the content.\n- `whiteboard` returns all child whiteboards of the content.\n- `database` returns all child databases of the content.\n- `embed` returns all child embeds of the content.\n- `folder` returns all child folders of the content." } ], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the content to be queried for its descendants.", "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. This is similar\nto [Get content children](#api-content-id-child-get), except that this\nmethod returns child pages at all levels, rather than just the direct\nchild pages.\n\nA piece of content has different types of descendants, depending on its type:\n\n- `page`: descendant is `page`, `whiteboard`, `database`, `embed`, `folder`, `comment`, `attachment`\n- `whiteboard`: descendant is `page`, `whiteboard`, `database`, `embed`, `folder`, `comment`, `attachment`\n- `database`: descendant is `page`, `whiteboard`, `database`, `embed`, `folder`, `comment`, `attachment`\n- `embed`: descendant is `page`, `whiteboard`, `database`, `embed`, `folder`, `comment`, `attachment`\n- `folder`: descendant is `page`, `whiteboard`, `database`, `embed`, `folder`, `comment`, `attachment`\n- `blogpost`: descendant is `comment`, `attachment`\n- `attachment`: descendant is `comment`\n- `comment`: descendant is `attachment`\n\nThe map will always include all descendant types that are valid for the content.\nHowever, if the content has no instances of a descendant type, the map will\ncontain an empty array for that descendant type.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\n'View' permission for the space, and permission to view the content if it\nis a page.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get content descendants by type", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/content/:id/descendant/:type", "query": [ { "key": "depth", "value": "{{depth}}", "disabled": true, "description": "Filter the results to descendants upto a desired level of the content. Note, the maximum value supported is 100. root level of the content means immediate (level 1) descendants of the type requested. all represents returning all descendants of the type requested." }, { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "A multi-value parameter indicating which properties of the content to expand.\n\n- `childTypes.all` returns whether the content has attachments, comments, or child pages/whiteboards.\nUse this if you only need to check whether the content has children of a particular type.\n- `childTypes.attachment` returns whether the content has attachments.\n- `childTypes.comment` returns whether the content has comments.\n- `childTypes.page` returns whether the content has child pages.\n- `childTypes.whiteboard` returns whether the content has child whiteboards.\n- `childTypes.database` returns whether the content has child databases.\n- `childTypes.embed` returns whether the content has child embeds (smartlinks).\n- `childTypes.folder` returns whether the content has child folders.\n- `container` returns the space that the content is in. This is the same as the information\nreturned by [Get space](#api-space-spaceKey-get).\n- `metadata.currentuser` returns information about the current user in relation to the content,\nincluding when they last viewed it, modified it, contributed to it, or added it as a favorite.\n- `metadata.properties` returns content properties that have been set via the Confluence REST API.\n- `metadata.labels` returns the labels that have been added to the content.\n- `metadata.frontend` this property is only used by Atlassian.\n- `operations` returns the operations for the content, which are used when setting permissions.\n- `children.page` returns pages that are descendants at the level immediately below the content.\n- `children.whiteboard` returns whiteboards that are descendants at the level immediately below the content.\n- `children.database` returns databases that are descendants at the level immediately below the content.\n- `children.embed` returns embeds (smartlinks) that are descendants at the level immediately below the content.\n- `children.folder` returns folders that are descendants at the level immediately below the content.\n- `children.attachment` returns all attachments for the content.\n- `children.comment` returns all comments on the content.\n- `restrictions.read.restrictions.user` returns the users that have permission to read the content.\n- `restrictions.read.restrictions.group` returns the groups that have permission to read the content. Note that\nthis may return deleted groups, because deleting a group doesn't remove associated restrictions.\n- `restrictions.update.restrictions.user` returns the users that have permission to update the content.\n- `restrictions.update.restrictions.group` returns the groups that have permission to update the content. Note that\nthis may return deleted groups because deleting a group doesn't remove associated restrictions.\n- `history` returns the history of the content, including the date it was created.\n- `history.lastUpdated` returns information about the most recent update of the content, including\nwho updated it and when it was updated.\n- `history.previousVersion` returns information about the update prior to the current content update.\n- `history.contributors` returns all of the users who have contributed to the content.\n- `history.nextVersion` returns information about the update after to the current content update.\n- `ancestors` returns the parent content, if the content is a page or whiteboard.\n- `body` returns the body of the content in different formats, including the editor format,\nview format, and export format.\n- `body.storage` returns the body of content in storage format.\n- `body.view` returns the body of content in view format.\n- `version` returns information about the most recent update of the content, including who updated it\nand when it was updated.\n- `descendants.page` returns pages that are descendants at any level below the content.\n- `descendants.whiteboard` returns whiteboards that are descendants at any level below the content.\n- `descendants.database` returns databases that are descendants at any level below the content.\n- `descendants.embed` returns embeds (smartlinks) that are descendants at any level below the content.\n- `descendants.folder` returns folders that are descendants at any level below the content.\n- `descendants.attachment` returns all attachments for the content, same as `children.attachment`.\n- `descendants.comment` returns all comments on the content, same as `children.comment`.\n- `space` returns the space that the content is in. This is the same as the information returned by\n[Get space](#api-space-spaceKey-get).\n\nIn addition, the following comment-specific expansions can be used:\n- `extensions.inlineProperties` returns inline comment-specific properties.\n- `extensions.resolution` returns the resolution status of each comment." }, { "key": "start", "value": "{{start}}", "disabled": true, "description": "The starting index of the returned content." }, { "key": "limit", "value": "{{limit}}", "disabled": true, "description": "The maximum number of content to return per page. Note,\nthis may be restricted by fixed system limits." } ], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the content to be queried for its descendants.", "disabled": false }, { "key": "type", "value": "{{type}}", "description": "The type of descendants to return.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns all descendants of a given type, for a piece of content. This is\nsimilar to [Get content children by type](#api-content-id-child-type-get),\nexcept that this method returns child pages at all levels, rather than just\nthe direct child pages.\n\nA piece of content has different types of descendants, depending on its type:\n\n- `page`: descendant is `page`, `whiteboard`, `database`, `embed`, `folder`, `comment`, `attachment`\n- `whiteboard`: descendant is `page`, `whiteboard`, `database`, `embed`, `folder`, `comment`, `attachment`\n- `database`: descendant is `page`, `whiteboard`, `database`, `embed`, `folder`, `comment`, `attachment`\n- `embed`: descendant is `page`, `whiteboard`, `database`, `embed`, `folder`, `comment`, `attachment`\n- `folder`: descendant is `page`, `whiteboard`, `database`, `embed`, `folder`, `comment`, `attachment`\n- `blogpost`: descendant is `comment`, `attachment`\n- `attachment`: descendant is `comment`\n- `comment`: descendant is `attachment`\n\nCustom content types that are provided by apps can also be returned.\n\nIf the expand query parameter is used with the `body.export_view` and/or `body.styled_view` properties, then the query limit parameter will be restricted to a maximum value of 25.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\n'View' permission for the space, and permission to view the content if it\nis a page.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Copy page hierarchy", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/content/:id/pagehierarchy/copy", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "disabled": false } ] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Copy page hierarchy allows the copying of an entire hierarchy of pages and their associated properties, permissions and attachments.\n The id path parameter refers to the content id of the page to copy, and the new parent of this copied page is defined using the destinationPageId in the request body.\n The titleOptions object defines the rules of renaming page titles during the copy;\n for example, search and replace can be used in conjunction to rewrite the copied page titles.\n\n Response example:\n \n {\n \"id\" : \"1180606\",\n \"links\" : {\n \"status\" : \"/rest/api/longtask/1180606\"\n }\n }\n \n Use the /longtask/ REST API to get the copy task status.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "" } }, "response": [] }, { "name": "Copy single page", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/content/:id/copy", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "A multi-value parameter indicating which properties of the content to expand.\nMaximum sub-expansions allowed is `8`.\n\n- `childTypes.all` returns whether the content has attachments, comments, or child pages/whiteboards.\nUse this if you only need to check whether the content has children of a particular type.\n- `childTypes.attachment` returns whether the content has attachments.\n- `childTypes.comment` returns whether the content has comments.\n- `childTypes.page` returns whether the content has child pages.\n- `childTypes.whiteboard` returns whether the content has child whiteboards.\n- `childTypes.database` returns whether the content has child databases.\n- `childTypes.embed` returns whether the content has child embeds (smartlinks).\n- `childTypes.folder` returns whether the content has child folder.\n- `container` returns the space that the content is in. This is the same as the information\nreturned by [Get space](#api-space-spaceKey-get).\n- `metadata.currentuser` returns information about the current user in relation to the content,\nincluding when they last viewed it, modified it, contributed to it, or added it as a favorite.\n- `metadata.properties` returns content properties that have been set via the Confluence REST API.\n- `metadata.labels` returns the labels that have been added to the content.\n- `metadata.frontend` this property is only used by Atlassian.\n- `operations` returns the operations for the content, which are used when setting permissions.\n- `children.page` returns pages that are descendants at the level immediately below the content.\n- `children.whiteboard` returns whiteboards that are descendants at the level immediately below the content.\n- `children.database` returns databases that are descendants at the level immediately below the content.\n- `children.embed` returns embeds (smartlinks) that are descendants at the level immediately below the content.\n- `children.folder` returns folders that are descendants at the level immediately below the content.\n- `children.attachment` returns all attachments for the content.\n- `children.comment` returns all comments on the content.\n- `restrictions.read.restrictions.user` returns the users that have permission to read the content.\n- `restrictions.read.restrictions.group` returns the groups that have permission to read the content. Note that\nthis may return deleted groups, because deleting a group doesn't remove associated restrictions.\n- `restrictions.update.restrictions.user` returns the users that have permission to update the content.\n- `restrictions.update.restrictions.group` returns the groups that have permission to update the content. Note that\nthis may return deleted groups because deleting a group doesn't remove associated restrictions.\n- `history` returns the history of the content, including the date it was created.\n- `history.lastUpdated` returns information about the most recent update of the content, including\nwho updated it and when it was updated.\n- `history.previousVersion` returns information about the update prior to the current content update.\n- `history.contributors` returns all of the users who have contributed to the content.\n- `history.nextVersion` returns information about the update after to the current content update.\n- `ancestors` returns the parent content, if the content is a page or whiteboard.\n- `body` returns the body of the content in different formats, including the editor format,\nview format, and export format.\n- `body.storage` returns the body of content in storage format.\n- `body.view` returns the body of content in view format.\n- `version` returns information about the most recent update of the content, including who updated it\nand when it was updated.\n- `descendants.page` returns pages that are descendants at any level below the content.\n- `descendants.whiteboard` returns whiteboards that are descendants at any level below the content.\n- `descendants.database` returns databases that are descendants at any level below the content.\n- `descendants.embed` returns embeds (smartlinks) that are descendants at any level below the content.\n- `descendants.folder` returns folders that are descendants at any level below the content.\n- `descendants.attachment` returns all attachments for the content, same as `children.attachment`.\n- `descendants.comment` returns all comments on the content, same as `children.comment`.\n- `space` returns the space that the content is in. This is the same as the information returned by\n[Get space](#api-space-spaceKey-get).\n\nIn addition, the following comment-specific expansions can be used:\n- `extensions.inlineProperties` returns inline comment-specific properties.\n- `extensions.resolution` returns the resolution status of each comment." } ], "variable": [ { "key": "id", "value": "{{id}}", "disabled": false } ] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json;charset=UTF-8" } ], "description": "Copies a single page and its associated properties, permissions, attachments, and custom contents.\n The `id` path parameter refers to the content ID of the page to copy. The target of the page to be copied\n is defined using the `destination` in the request body and can be one of the following types.\n\n - `space`: page will be copied to the specified space as a root page on the space\n - `parent_page`: page will be copied as a child of the specified parent page\n - `parent_content`: page will be copied as a child of the specified parent content\n - `existing_page`: page will be copied and replace the specified page\n\nBy default, the following objects are expanded: `space`, `history`, `version`.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**: 'Add' permission for the space that the content will be copied in and permission to update the content if copying to an `existing_page`.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "" } }, "response": [] } ] }, { "name": "Content - macro body", "description": "", "item": [ { "name": "Get macro body by macro ID", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/content/:id/history/:version/macro/id/:macroId", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID for the content that contains the macro.", "disabled": false }, { "key": "version", "value": "{{version}}", "description": "The version of the content that contains the macro. Specifying `0` as the `version` will return\nthe macro body for the latest content version.", "disabled": false }, { "key": "macroId", "value": "{{macroId}}", "description": "The ID of the macro. This is usually passed by the app that the\nmacro is in. Otherwise, find the macro ID by querying the desired\ncontent and version, then expanding the body in storage format.\nFor example, '/content/196611/version/7?expand=content.body.storage'.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the body of a macro in storage format, for the given macro ID.\nThis includes information like the name of the macro, the body of the macro,\nand any macro parameters. This method is mainly used by Cloud apps.\n\nAbout the macro ID: When a macro is created in a new version of content,\nConfluence will generate a random ID for it, unless an ID is specified\n(by an app). The macro ID will look similar to this: '50884bd9-0cb8-41d5-98be-f80943c14f96'.\nThe ID is then persisted as new versions of content are created, and is\nonly modified by Confluence if there are conflicting IDs.\n\nFor Forge macros, the value for macro ID is the \"local ID\" of that particular ADF node.\nThis value can be retrieved either client-side by calling view.getContext() and accessing \"localId\"\non the resulting object, or server-side by examining the \"local-id\" parameter node inside the \"parameters\" node.\n\nNote that there are other attributes named \"local-id\", but only this particular one is used to store the macro ID.\n\nExample:\n\n com.atlassian.ecosystem\n \n e9c4aa10-73fa-417c-888d-48c719ae4165\n \n\n\nNote, to preserve backwards compatibility this resource will also match on\nthe hash of the macro body, even if a macro ID is found. This check will\neventually become redundant, as macro IDs are generated for pages and\ntransparently propagate out to all instances.\n\nThis backwards compatibility logic does not apply to Forge macros; those\ncan only be retrieved by their ID.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\nPermission to view the content that the macro is in.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get macro body by macro ID and convert the representation synchronously", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/content/:id/history/:version/macro/id/:macroId/convert/:to", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "A multi-value parameter indicating which properties of the content to expand and populate. Expands are dependent on the\n`to` conversion format and may be irrelevant for certain conversions (e.g. `macroRenderedOutput` is redundant when\nconverting to `view` format). \n\nIf rendering to `view` format, and the body content being converted includes arbitrary nested content (such as macros); then it is \nnecessary to include webresource expands in the request. Webresources for content body are the batched JS and CSS dependencies for\nany nested dynamic content (i.e. macros).\n\n- `embeddedContent` returns metadata for nested content (e.g. page included using page include macro)\n- `mediaToken` returns JWT token for retrieving attachment data from Media API\n- `macroRenderedOutput` additionally converts body to view format\n- `webresource.superbatch.uris.js` returns all common JS dependencies as static URLs\n- `webresource.superbatch.uris.css` returns all common CSS dependencies as static URLs\n- `webresource.superbatch.uris.all` returns all common dependencies as static URLs\n- `webresource.superbatch.tags.all` returns all common JS dependencies as html `` tags\n- `webresource.superbatch.tags.css` returns all common CSS dependencies as html `` tags\n- `webresource.superbatch.tags.js` returns all common dependencies as html `` and `` tags\n- `webresource.uris.js` returns JS dependencies specific to conversion\n- `webresource.uris.css` returns CSS dependencies specific to conversion\n- `webresource.uris.all` returns all dependencies specific to conversion \n- `webresource.tags.all` returns common JS dependencies as html `` tags\n- `webresource.tags.css` returns common CSS dependencies as html `` tags\n- `webresource.tags.js` returns common dependencies as html `` and `` tags" }, { "key": "spaceKeyContext", "value": "{{spaceKeyContext}}", "disabled": true, "description": "The space key used for resolving embedded content (page includes,\nfiles, and links) in the content body. For example, if the source content\ncontains the link ``\nand the `spaceKeyContext=TEST` parameter is provided, then the link\nwill be converted to a link to the \"Example page\" page in the \"TEST\" space." }, { "key": "embeddedContentRender", "value": "{{embeddedContentRender}}", "disabled": true, "description": "Mode used for rendering embedded content, like attachments.\n\n- `current` renders the embedded content using the latest version.\n- `version-at-save` renders the embedded content using the version at\nthe time of save." } ], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID for the content that contains the macro.", "disabled": false }, { "key": "version", "value": "{{version}}", "description": "The version of the content that contains the macro. Specifying `0` as the `version` will return\nthe macro body for the latest content version.", "disabled": false }, { "key": "macroId", "value": "{{macroId}}", "description": "The ID of the macro. This is usually passed by the app that the\nmacro is in. Otherwise, find the macro ID by querying the desired\ncontent and version, then expanding the body in storage format.\nFor example, '/content/196611/version/7?expand=content.body.storage'.", "disabled": false }, { "key": "to", "value": "{{to}}", "description": "The content representation to return the macro in.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the body of a macro in format specified in path, for the given macro ID.\nThis includes information like the name of the macro, the body of the macro,\nand any macro parameters.\n\nAbout the macro ID: When a macro is created in a new version of content,\nConfluence will generate a random ID for it, unless an ID is specified\n(by an app). The macro ID will look similar to this: '50884bd9-0cb8-41d5-98be-f80943c14f96'.\nThe ID is then persisted as new versions of content are created, and is\nonly modified by Confluence if there are conflicting IDs.\n\nFor Forge macros, the value for macro ID is the \"local ID\" of that particular ADF node.\nThis value can be retrieved either client-side by calling view.getContext() and accessing \"localId\"\non the resulting object, or server-side by examining the \"local-id\" parameter node inside the \"parameters\" node.\n\nNote that there are other attributes named \"local-id\", but only this particular one is used to store the macro ID.\n\nExample:\n\n com.atlassian.ecosystem\n \n e9c4aa10-73fa-417c-888d-48c719ae4165\n \n\n\nNote, to preserve backwards compatibility this resource will also match on\nthe hash of the macro body, even if a macro ID is found. This check will\neventually become redundant, as macro IDs are generated for pages and\ntransparently propagate out to all instances.\n\nThis backwards compatibility logic does not apply to Forge macros; those\ncan only be retrieved by their ID.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\nPermission to view the content that the macro is in.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get macro body by macro ID and convert representation Asynchronously", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/content/:id/history/:version/macro/id/:macroId/convert/async/:to", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "A multi-value parameter indicating which properties of the content to expand and populate. Expands are dependent on the\n`to` conversion format and may be irrelevant for certain conversions (e.g. `macroRenderedOutput` is redundant when\nconverting to `view` format). \n\nIf rendering to `view` format, and the body content being converted includes arbitrary nested content (such as macros); then it is \nnecessary to include webresource expands in the request. Webresources for content body are the batched JS and CSS dependencies for\nany nested dynamic content (i.e. macros).\n\n- `embeddedContent` returns metadata for nested content (e.g. page included using page include macro)\n- `mediaToken` returns JWT token for retrieving attachment data from Media API\n- `macroRenderedOutput` additionally converts body to view format\n- `webresource.superbatch.uris.js` returns all common JS dependencies as static URLs\n- `webresource.superbatch.uris.css` returns all common CSS dependencies as static URLs\n- `webresource.superbatch.uris.all` returns all common dependencies as static URLs\n- `webresource.superbatch.tags.all` returns all common JS dependencies as html `` tags\n- `webresource.superbatch.tags.css` returns all common CSS dependencies as html `` tags\n- `webresource.superbatch.tags.js` returns all common dependencies as html `` and `` tags\n- `webresource.uris.js` returns JS dependencies specific to conversion\n- `webresource.uris.css` returns CSS dependencies specific to conversion\n- `webresource.uris.all` returns all dependencies specific to conversion \n- `webresource.tags.all` returns common JS dependencies as html `` tags\n- `webresource.tags.css` returns common CSS dependencies as html `` tags\n- `webresource.tags.js` returns common dependencies as html `` and `` tags" }, { "key": "allowCache", "value": "{{allowCache}}", "disabled": true, "description": "If this field is false, the cache will erase its current value and begin a conversion.\nIf this field is true, the cache will not erase its current value, and will set the status of the\nresult in cache to RERUNNING. Once the data is updated, the status will change to COMPLETED. \nLarge macros that take long to convert, and who want to show intermediate, but potentially stale data, immediately should set this field to true.\nCache values are stored per macro per user per content and expansions." }, { "key": "spaceKeyContext", "value": "{{spaceKeyContext}}", "disabled": true, "description": "The space key used for resolving embedded content (page includes,\nfiles, and links) in the content body. For example, if the source content\ncontains the link ``\nand the `spaceKeyContext=TEST` parameter is provided, then the link\nwill be converted to a link to the \"Example page\" page in the \"TEST\" space." }, { "key": "embeddedContentRender", "value": "{{embeddedContentRender}}", "disabled": true, "description": "Mode used for rendering embedded content, like attachments.\n\n- `current` renders the embedded content using the latest version.\n- `version-at-save` renders the embedded content using the version at\nthe time of save." } ], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID for the content that contains the macro.", "disabled": false }, { "key": "version", "value": "{{version}}", "description": "The version of the content that contains the macro. Specifying `0` as the `version` will return\nthe macro body for the latest content version.", "disabled": false }, { "key": "macroId", "value": "{{macroId}}", "description": "The ID of the macro. For apps, this is passed to the macro by the Connect/Forge framework.\nOtherwise, find the macro ID by querying the desired\ncontent and version, then expanding the body in storage format.\nFor example, '/content/196611/version/7?expand=content.body.storage'.", "disabled": false }, { "key": "to", "value": "{{to}}", "description": "The content representation to return the macro in.\nCurrently, the following conversions are allowed:\n\n- `export_view`\n- `styled_view`\n- `view`", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns Async Id of the conversion task which will convert the macro into a content body of the desired format.\nThe result will be available for 5 minutes after completion of the conversion.\n\nAbout the macro ID: When a macro is created in a new version of content,\nConfluence will generate a random ID for it, unless an ID is specified\n(by an app). The macro ID will look similar to this: '884bd9-0cb8-41d5-98be-f80943c14f96'.\nThe ID is then persisted as new versions of content are created, and is\nonly modified by Confluence if there are conflicting IDs.\n\nFor Forge macros, the value for macro ID is the \"local ID\" of that particular ADF node.\nThis value can be retrieved either client-side by calling view.getContext() and accessing \"localId\"\non the resulting object, or server-side by examining the \"local-id\" parameter node inside the \"parameters\" node.\n\nNote that there are other attributes named \"local-id\", but only this particular one is used to store the macro ID.\n\nExample:\n\n com.atlassian.ecosystem\n \n e9c4aa10-73fa-417c-888d-48c719ae4165\n \n\n\nNote, to preserve backwards compatibility this resource will also match on\nthe hash of the macro body, even if a macro ID is found. This check will\neventually become redundant, as macro IDs are generated for pages and\ntransparently propagate out to all instances.\n\nThis backwards compatibility logic does not apply to Forge macros; those\ncan only be retrieved by their ID.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\nPermission to view the content that the macro is in.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Content labels", "description": "", "item": [ { "name": "Add labels to content", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/content/:id/label", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the content that will have labels added to it.", "disabled": false } ] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Adds labels to a piece of content. Does not modify the existing labels.\n\nNotes:\n\n- Labels can also be added when creating content ([Create content](#api-content-post)).\n- Labels can be updated when updating content ([Update content](#api-content-id-put)).\nThis will delete the existing labels and replace them with the labels in\nthe request.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\nPermission to update the content.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "" } }, "response": [] }, { "name": "Remove label from content using query parameter", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/content/:id/label", "query": [ { "key": "name", "value": "{{name}}", "disabled": false, "description": "The name of the label to be removed." } ], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the content that the label will be removed from.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Removes a label from a piece of content. Labels can't be deleted from archived content.\nThis is similar to [Remove label from content](#api-content-id-label-label-delete)\nexcept that the label name is specified via a query parameter.\n\nUse this method if the label name has \"/\" characters, as\n[Remove label from content using query parameter](#api-content-id-label-delete)\ndoes not accept \"/\" characters for the label name.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\nPermission to update the content.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Remove label from content", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/content/:id/label/:label", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the content that the label will be removed from.", "disabled": false }, { "key": "label", "value": "{{label}}", "description": "The name of the label to be removed.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Removes a label from a piece of content. Labels can't be deleted from archived content.\nThis is similar to [Remove label from content using query parameter](#api-content-id-label-delete)\nexcept that the label name is specified via a path parameter.\n\nUse this method if the label name does not have \"/\" characters, as the path\nparameter does not accept \"/\" characters for security reasons. Otherwise,\nuse [Remove label from content using query parameter](#api-content-id-label-delete).\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\nPermission to update the content.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Content permissions", "description": "", "item": [ { "name": "Check content permissions", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/content/:id/permission/check", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the content to check permissions against.", "disabled": false } ] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Check if a user or a group can perform an operation to the specified content. The `operation` to check\nmust be provided. The user’s account ID or the ID of the group can be provided in the `subject` to check\npermissions against a specified user or group. The following permission checks are done to make sure that the\nuser or group has the proper access:\n\n- site permissions\n- space permissions\n- content restrictions\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\nPermission to access the Confluence site ('Can use' global permission) if checking permission for self,\notherwise 'Confluence Administrator' global permission is required.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "" } }, "response": [] } ] }, { "name": "Content restrictions", "description": "", "item": [ { "name": "Get restrictions", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/content/:id/restriction", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "A multi-value parameter indicating which properties of the content\nrestrictions to expand. By default, the following objects are expanded:\n`restrictions.user`, `restrictions.group`.\n\n- `restrictions.user` returns the piece of content that the restrictions are\napplied to.\n- `restrictions.group` returns the piece of content that the restrictions are\napplied to.\n- `content` returns the piece of content that the restrictions are\napplied to." }, { "key": "start", "value": "{{start}}", "disabled": true, "description": "The starting index of the users and groups in the returned restrictions." }, { "key": "limit", "value": "{{limit}}", "disabled": true, "description": "The maximum number of users and the maximum number of groups, in the\nreturned restrictions, to return per page. Note, this may be restricted\nby fixed system limits." } ], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the content to be queried for its restrictions.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the restrictions on a piece of content.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\nPermission to view the content.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Update restrictions", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/content/:id/restriction", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "A multi-value parameter indicating which properties of the content\nrestrictions (returned in response) to expand.\n\n- `restrictions.user` returns the piece of content that the restrictions are\napplied to. Expanded by default.\n- `restrictions.group` returns the piece of content that the restrictions are\napplied to. Expanded by default.\n- `content` returns the piece of content that the restrictions are\napplied to." } ], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the content to update restrictions for.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Updates restrictions for a piece of content. This removes the existing\nrestrictions and replaces them with the restrictions in the request.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\nPermission to edit the content.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "" } }, "response": [] }, { "name": "Add restrictions", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/content/:id/restriction", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "A multi-value parameter indicating which properties of the content\nrestrictions (returned in response) to expand.\n\n- `restrictions.user` returns the piece of content that the restrictions are\napplied to. Expanded by default.\n- `restrictions.group` returns the piece of content that the restrictions are\napplied to. Expanded by default.\n- `content` returns the piece of content that the restrictions are\napplied to." } ], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the content to add restrictions to.", "disabled": false } ] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Adds restrictions to a piece of content. Note, this does not change any\nexisting restrictions on the content.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\nPermission to edit the content.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "" } }, "response": [] }, { "name": "Delete restrictions", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/content/:id/restriction", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "A multi-value parameter indicating which properties of the content\nrestrictions (returned in response) to expand.\n\n- `restrictions.user` returns the piece of content that the restrictions are\napplied to. Expanded by default.\n- `restrictions.group` returns the piece of content that the restrictions are\napplied to. Expanded by default.\n- `content` returns the piece of content that the restrictions are\napplied to." } ], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the content to remove restrictions from.", "disabled": false } ] }, "method": "DELETE", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Removes all restrictions (read and update) on a piece of content.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\nPermission to edit the content.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get restrictions by operation", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/content/:id/restriction/byOperation", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "A multi-value parameter indicating which properties of the content\nrestrictions to expand.\n\n- `restrictions.user` returns the piece of content that the restrictions are\napplied to. Expanded by default.\n- `restrictions.group` returns the piece of content that the restrictions are\napplied to. Expanded by default.\n- `content` returns the piece of content that the restrictions are\napplied to." } ], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the content to be queried for its restrictions.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns restrictions on a piece of content by operation. This method is\nsimilar to [Get restrictions](#api-content-id-restriction-get) except that\nthe operations are properties of the return object, rather than items in\na results array.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\nPermission to view the content.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get restrictions for operation", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/content/:id/restriction/byOperation/:operationKey", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "A multi-value parameter indicating which properties of the content\nrestrictions to expand.\n\n- `restrictions.user` returns the piece of content that the restrictions are\napplied to. Expanded by default.\n- `restrictions.group` returns the piece of content that the restrictions are\napplied to. Expanded by default.\n- `content` returns the piece of content that the restrictions are\napplied to." }, { "key": "start", "value": "{{start}}", "disabled": true, "description": "The starting index of the users and groups in the returned restrictions." }, { "key": "limit", "value": "{{limit}}", "disabled": true, "description": "The maximum number of users and the maximum number of groups, in the\nreturned restrictions, to return per page. Note, this may be restricted\nby fixed system limits." } ], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the content to be queried for its restrictions.", "disabled": false }, { "key": "operationKey", "value": "{{operationKey}}", "description": "The operation type of the restrictions to be returned.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the restictions on a piece of content for a given operation (read\nor update).\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\nPermission to view the content.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get content restriction status for group", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/content/:id/restriction/byOperation/:operationKey/byGroupId/:groupId", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the content that the restriction applies to.", "disabled": false }, { "key": "operationKey", "value": "{{operationKey}}", "description": "The operation that the restriction applies to.", "disabled": false }, { "key": "groupId", "value": "{{groupId}}", "description": "The id of the group to be queried for whether the content restriction\napplies to it.", "disabled": false } ] }, "method": "GET", "header": [], "description": "Returns whether the specified content restriction applies to a group.\nFor example, if a page with `id=123` has a `read` restriction for the `123456` group id,\nthe following request will return `true`:\n\n`/wiki/rest/api/content/123/restriction/byOperation/read/byGroupId/123456`\n\nNote that a response of `true` does not guarantee that the group can view the page, as it does not account for\naccount-inherited restrictions, space permissions, or even product access. For more\ninformation, see [Confluence permissions](https://confluence.atlassian.com/x/_AozKw).\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\nPermission to view the content.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Add group to content restriction", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/content/:id/restriction/byOperation/:operationKey/byGroupId/:groupId", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the content that the restriction applies to.", "disabled": false }, { "key": "operationKey", "value": "{{operationKey}}", "description": "The operation that the restriction applies to.", "disabled": false }, { "key": "groupId", "value": "{{groupId}}", "description": "The groupId of the group to add to the content restriction.", "disabled": false } ] }, "method": "PUT", "header": [], "description": "Adds a group to a content restriction by Group Id. That is, grant read or update\npermission to the group for a piece of content.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\nPermission to edit the content.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Remove group from content restriction", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/content/:id/restriction/byOperation/:operationKey/byGroupId/:groupId", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the content that the restriction applies to.", "disabled": false }, { "key": "operationKey", "value": "{{operationKey}}", "description": "The operation that the restriction applies to.", "disabled": false }, { "key": "groupId", "value": "{{groupId}}", "description": "The id of the group to remove from the content restriction.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Removes a group from a content restriction. That is, remove read or update\npermission for the group for a piece of content.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\nPermission to edit the content.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get content restriction status for user", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/content/:id/restriction/byOperation/:operationKey/user", "query": [ { "key": "key", "value": "{{key}}", "disabled": true, "description": "This parameter is no longer available and will be removed from the documentation soon.\nUse `accountId` instead.\nSee the [deprecation notice](/cloud/confluence/deprecation-notice-user-privacy-api-migration-guide/) for details." }, { "key": "username", "value": "{{username}}", "disabled": true, "description": "This parameter is no longer available and will be removed from the documentation soon.\nUse `accountId` instead.\nSee the [deprecation notice](/cloud/confluence/deprecation-notice-user-privacy-api-migration-guide/) for details." }, { "key": "accountId", "value": "{{accountId}}", "disabled": true, "description": "The account ID of the user. The accountId uniquely identifies the user across all Atlassian products.\nFor example, `384093:32b4d9w0-f6a5-3535-11a3-9c8c88d10192`." } ], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the content that the restriction applies to.", "disabled": false }, { "key": "operationKey", "value": "{{operationKey}}", "description": "The operation that is restricted.", "disabled": false } ] }, "method": "GET", "header": [], "description": "Returns whether the specified content restriction applies to a user.\nFor example, if a page with `id=123` has a `read` restriction for a user with an account ID of\n`384093:32b4d9w0-f6a5-3535-11a3-9c8c88d10192`, the following request will return `true`:\n\n`/wiki/rest/api/content/123/restriction/byOperation/read/user?accountId=384093:32b4d9w0-f6a5-3535-11a3-9c8c88d10192`\n\nNote that a response of `true` does not guarantee that the user can view the page, as it does not account for\naccount-inherited restrictions, space permissions, or even product access. For more\ninformation, see [Confluence permissions](https://confluence.atlassian.com/x/_AozKw).\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\nPermission to view the content.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Add user to content restriction", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/content/:id/restriction/byOperation/:operationKey/user", "query": [ { "key": "key", "value": "{{key}}", "disabled": true, "description": "This parameter is no longer available and will be removed from the documentation soon.\nUse `accountId` instead.\nSee the [deprecation notice](/cloud/confluence/deprecation-notice-user-privacy-api-migration-guide/) for details." }, { "key": "username", "value": "{{username}}", "disabled": true, "description": "This parameter is no longer available and will be removed from the documentation soon.\nUse `accountId` instead.\nSee the [deprecation notice](/cloud/confluence/deprecation-notice-user-privacy-api-migration-guide/) for details." }, { "key": "accountId", "value": "{{accountId}}", "disabled": true, "description": "The account ID of the user. The accountId uniquely identifies the user across all Atlassian products.\nFor example, `384093:32b4d9w0-f6a5-3535-11a3-9c8c88d10192`." } ], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the content that the restriction applies to.", "disabled": false }, { "key": "operationKey", "value": "{{operationKey}}", "description": "The operation that the restriction applies to.", "disabled": false } ] }, "method": "PUT", "header": [], "description": "Adds a user to a content restriction. That is, grant read or update\npermission to the user for a piece of content.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\nPermission to edit the content.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Remove user from content restriction", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/content/:id/restriction/byOperation/:operationKey/user", "query": [ { "key": "key", "value": "{{key}}", "disabled": true, "description": "This parameter is no longer available and will be removed from the documentation soon.\nUse `accountId` instead.\nSee the [deprecation notice](/cloud/confluence/deprecation-notice-user-privacy-api-migration-guide/) for details." }, { "key": "username", "value": "{{username}}", "disabled": true, "description": "This parameter is no longer available and will be removed from the documentation soon.\nUse `accountId` instead.\nSee the [deprecation notice](/cloud/confluence/deprecation-notice-user-privacy-api-migration-guide/) for details." }, { "key": "accountId", "value": "{{accountId}}", "disabled": true, "description": "The account ID of the user. The accountId uniquely identifies the user across all Atlassian products.\nFor example, `384093:32b4d9w0-f6a5-3535-11a3-9c8c88d10192`." } ], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the content that the restriction applies to.", "disabled": false }, { "key": "operationKey", "value": "{{operationKey}}", "description": "The operation that the restriction applies to.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Removes a group from a content restriction. That is, remove read or update\npermission for the group for a piece of content.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\nPermission to edit the content.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Content states", "description": "", "item": [ { "name": "Get content state", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/content/:id/state", "query": [ { "key": "status", "value": "{{status}}", "disabled": true, "description": "Set status to one of [current,draft,archived]. Default value is current." } ], "variable": [ { "key": "id", "value": "{{id}}", "description": "The id of the content whose content state is of interest.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Gets the current content state of the draft or current version of content. To specify the draft version, set\nthe parameter status to draft, otherwise archived or current will get the relevant published state.\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\nPermission to view the content.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Set the content state of a content and publishes a new version of the content.", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/content/:id/state", "query": [ { "key": "status", "value": "{{status}}", "disabled": false, "description": "Status of content onto which state will be placed. If draft, then draft state will change.\nIf current, state will be placed onto a new version of the content with same body as previous version." } ], "variable": [ { "key": "id", "value": "{{id}}", "description": "The Id of the content whose content state is to be set.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Sets the content state of the content specified and creates a new version\n(publishes the content without changing the body) of the content with the new state.\n\nYou may pass in either an id of a state, or the name and color of a desired new state.\nIf all 3 are passed in, id will be used.\nIf the name and color passed in already exist under the current user's existing custom states, the existing state will be reused.\nIf custom states are disabled in the space of the content (which can be determined by getting the content state space settings of the content's space)\nthen this set will fail.\n\nYou may not remove a content state via this PUT request. You must use the DELETE method. A specified state is required in the body of this request.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\nPermission to edit the content.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "" } }, "response": [] }, { "name": "Removes the content state of a content and publishes a new version.", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/content/:id/state", "query": [ { "key": "status", "value": "{{status}}", "disabled": true, "description": "status of content state from which to delete state. Can be draft or archived" } ], "variable": [ { "key": "id", "value": "{{id}}", "description": "The Id of the content whose content state is to be set.", "disabled": false } ] }, "method": "DELETE", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Removes the content state of the content specified and creates a new version\n(publishes the content without changing the body) of the content with the new status.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\nPermission to edit the content.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Gets available content states for content.", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/content/:id/state/available", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "id of content to get available states for", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Gets content states that are available for the content to be set as.\nWill return all enabled Space Content States.\nWill only return most the 3 most recently published custom content states to match UI editor list.\nTo get all custom content states, use the /content-states endpoint.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\nPermission to edit the content.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get Custom Content States", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/content-states", "query": [], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Get custom content states that authenticated user has created.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**\nMust have user authentication.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get space suggested content states", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/space/:spaceKey/state", "query": [], "variable": [ { "key": "spaceKey", "value": "{{spaceKey}}", "description": "The key of the space to be queried for its content state settings.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Get content states that are suggested in the space.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\n'View' permission for the space.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get content state settings for space", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/space/:spaceKey/state/settings", "query": [], "variable": [ { "key": "spaceKey", "value": "{{spaceKey}}", "description": "The key of the space to be queried for its content state settings.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Get object describing whether content states are allowed at all, if custom content states or space content states\nare restricted, and a list of space content states allowed for the space if they are not restricted.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\n'Admin' permission for the space.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get content in space with given content state", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/space/:spaceKey/state/content", "query": [ { "key": "state-id", "value": "{{state-id}}", "disabled": false, "description": "The id of the content state to filter content by" }, { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "A multi-value parameter indicating which properties of the content to expand.\nOptions include: space, version, history, children, etc.\n\nEx: space,version" }, { "key": "limit", "value": "{{limit}}", "disabled": true, "description": "Maximum number of results to return" }, { "key": "start", "value": "{{start}}", "disabled": true, "description": "Number of result to start returning. (0 indexed)" } ], "variable": [ { "key": "spaceKey", "value": "{{spaceKey}}", "description": "The key of the space to be queried for its content state settings.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns all content that has the provided content state in a space.\n\nIf the expand query parameter is used with the `body.export_view` and/or `body.styled_view` properties, then the query limit parameter will be restricted to a maximum value of 25.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\n'View' permission for the space." }, "response": [] } ] }, { "name": "Content versions", "description": "", "item": [ { "name": "Restore content version", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/content/:id/version", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "A multi-value parameter indicating which properties of the content to expand. By default, the `content`\nobject is expanded.\n\n- `collaborators` returns the users that collaborated on the version.\n- `content` returns the content for the version." } ], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the content for which the history will be restored.", "disabled": false } ] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Restores a historical version to be the latest version. That is, a new version\nis created with the content of the historical version.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\nPermission to update the content.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "" } }, "response": [] }, { "name": "Delete content version", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/content/:id/version/:versionNumber", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the content that the version will be deleted from.", "disabled": false }, { "key": "versionNumber", "value": "{{versionNumber}}", "description": "The number of the version to be deleted. The version number starts\nfrom 1 up to current version.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Delete a historical version. This does not delete the changes made to the\ncontent in that version, rather the changes for the deleted version are\nrolled up into the next version. Note, you cannot delete the current version.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\nPermission to update the content.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Content watches", "description": "", "item": [ { "name": "Get watches for page", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/content/:id/notification/child-created", "query": [ { "key": "start", "value": "{{start}}", "disabled": true, "description": "The starting index of the returned watches." }, { "key": "limit", "value": "{{limit}}", "disabled": true, "description": "The maximum number of watches to return per page.\nNote, this may be restricted by fixed system limits." } ], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the content to be queried for its watches.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the watches for a page. A user that watches a page will receive\nreceive notifications when the page is updated.\n\nIf you want to manage watches for a page, use the following `user` methods:\n\n- [Get content watch status for user](#api-user-watch-content-contentId-get)\n- [Add content watch](#api-user-watch-content-contentId-post)\n- [Remove content watch](#api-user-watch-content-contentId-delete)\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\nPermission to access the Confluence site ('Can use' global permission).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get watches for space", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/content/:id/notification/created", "query": [ { "key": "start", "value": "{{start}}", "disabled": true, "description": "The starting index of the returned watches." }, { "key": "limit", "value": "{{limit}}", "disabled": true, "description": "The maximum number of watches to return per page.\nNote, this may be restricted by fixed system limits." } ], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the content to be queried for its watches.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns all space watches for the space that the content is in. A user that\nwatches a space will receive receive notifications when any content in the\nspace is updated.\n\nIf you want to manage watches for a space, use the following `user` methods:\n\n- [Get space watch status for user](#api-user-watch-space-spaceKey-get)\n- [Add space watch](#api-user-watch-space-spaceKey-post)\n- [Remove space watch](#api-user-watch-space-spaceKey-delete)\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\nPermission to access the Confluence site ('Can use' global permission).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get space watchers", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/space/:spaceKey/watch", "query": [ { "key": "start", "value": "{{start}}", "disabled": true, "description": "The start point of the collection to return." }, { "key": "limit", "value": "{{limit}}", "disabled": true, "description": "The limit of the number of items to return, this may be restricted by fixed system limits." } ], "variable": [ { "key": "spaceKey", "value": "{{spaceKey}}", "description": "The key of the space to get watchers.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a list of watchers of a space", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get content watch status", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/user/watch/content/:contentId", "query": [ { "key": "key", "value": "{{key}}", "disabled": true, "description": "This parameter is no longer available and will be removed from the documentation soon.\nUse `accountId` instead.\nSee the [deprecation notice](/cloud/confluence/deprecation-notice-user-privacy-api-migration-guide/) for details." }, { "key": "username", "value": "{{username}}", "disabled": true, "description": "This parameter is no longer available and will be removed from the documentation soon.\nUse `accountId` instead.\nSee the [deprecation notice](/cloud/confluence/deprecation-notice-user-privacy-api-migration-guide/) for details." }, { "key": "accountId", "value": "{{accountId}}", "disabled": true, "description": "The account ID of the user. The accountId uniquely identifies the user across all Atlassian products.\nFor example, `384093:32b4d9w0-f6a5-3535-11a3-9c8c88d10192`." } ], "variable": [ { "key": "contentId", "value": "{{contentId}}", "description": "The ID of the content to be queried for whether the specified user is\nwatching it.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns whether a user is watching a piece of content. Choose the user by\ndoing one of the following:\n\n- Specify a user via a query parameter: Use the `accountId` to identify the user.\n- Do not specify a user: The currently logged-in user will be used.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\n'Confluence Administrator' global permission if specifying a user, otherwise\npermission to access the Confluence site ('Can use' global permission).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Add content watcher", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/user/watch/content/:contentId", "query": [ { "key": "key", "value": "{{key}}", "disabled": true, "description": "This parameter is no longer available and will be removed from the documentation soon.\nUse `accountId` instead.\nSee the [deprecation notice](/cloud/confluence/deprecation-notice-user-privacy-api-migration-guide/) for details." }, { "key": "username", "value": "{{username}}", "disabled": true, "description": "This parameter is no longer available and will be removed from the documentation soon.\nUse `accountId` instead.\nSee the [deprecation notice](/cloud/confluence/deprecation-notice-user-privacy-api-migration-guide/) for details." }, { "key": "accountId", "value": "{{accountId}}", "disabled": true, "description": "The account ID of the user. The accountId uniquely identifies the user across all Atlassian products.\nFor example, `384093:32b4d9w0-f6a5-3535-11a3-9c8c88d10192`." } ], "variable": [ { "key": "contentId", "value": "{{contentId}}", "description": "The ID of the content to add the watcher to.", "disabled": false } ] }, "method": "POST", "header": [], "description": "Adds a user as a watcher to a piece of content. Choose the user by doing\none of the following:\n\n- Specify a user via a query parameter: Use the `accountId` to identify the user.\n- Do not specify a user: The currently logged-in user will be used.\n\nNote, you must add the `X-Atlassian-Token: no-check` header when making a\nrequest, as this operation has XSRF protection.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\n'Confluence Administrator' global permission if specifying a user, otherwise\npermission to access the Confluence site ('Can use' global permission).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Remove content watcher", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/user/watch/content/:contentId", "query": [ { "key": "key", "value": "{{key}}", "disabled": true, "description": "This parameter is no longer available and will be removed from the documentation soon.\nUse `accountId` instead.\nSee the [deprecation notice](/cloud/confluence/deprecation-notice-user-privacy-api-migration-guide/) for details." }, { "key": "username", "value": "{{username}}", "disabled": true, "description": "This parameter is no longer available and will be removed from the documentation soon.\nUse `accountId` instead.\nSee the [deprecation notice](/cloud/confluence/deprecation-notice-user-privacy-api-migration-guide/) for details." }, { "key": "accountId", "value": "{{accountId}}", "disabled": true, "description": "The account ID of the user. The accountId uniquely identifies the user across all Atlassian products.\nFor example, `384093:32b4d9w0-f6a5-3535-11a3-9c8c88d10192`." } ], "variable": [ { "key": "contentId", "value": "{{contentId}}", "description": "The ID of the content to remove the watcher from.", "disabled": false } ] }, "method": "DELETE", "header": [ { "key": "X-Atlassian-Token", "value": "{{X-Atlassian-Token}}", "description": "Note, you must add header when making a\nrequest, as this operation has XSRF protection.", "disabled": false } ], "description": "Removes a user as a watcher from a piece of content. Choose the user by\ndoing one of the following:\n\n- Specify a user via a query parameter: Use the `accountId` to identify the user.\n- Do not specify a user: The currently logged-in user will be used.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\n'Confluence Administrator' global permission if specifying a user, otherwise\npermission to access the Confluence site ('Can use' global permission).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get label watch status", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/user/watch/label/:labelName", "query": [ { "key": "key", "value": "{{key}}", "disabled": true, "description": "This parameter is no longer available and will be removed from the documentation soon.\nUse `accountId` instead.\nSee the [deprecation notice](/cloud/confluence/deprecation-notice-user-privacy-api-migration-guide/) for details." }, { "key": "username", "value": "{{username}}", "disabled": true, "description": "This parameter is no longer available and will be removed from the documentation soon.\nUse `accountId` instead.\nSee the [deprecation notice](/cloud/confluence/deprecation-notice-user-privacy-api-migration-guide/) for details." }, { "key": "accountId", "value": "{{accountId}}", "disabled": true, "description": "The account ID of the user. The accountId uniquely identifies the user across all Atlassian products.\nFor example, `384093:32b4d9w0-f6a5-3535-11a3-9c8c88d10192`." } ], "variable": [ { "key": "labelName", "value": "{{labelName}}", "description": "The name of the label to be queried for whether the specified user is\nwatching it.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns whether a user is watching a label. Choose the user by doing one\nof the following:\n\n- Specify a user via a query parameter: Use the `accountId` to identify the user.\n- Do not specify a user: The currently logged-in user will be used.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\n'Confluence Administrator' global permission if specifying a user, otherwise\npermission to access the Confluence site ('Can use' global permission).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Add label watcher", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/user/watch/label/:labelName", "query": [ { "key": "key", "value": "{{key}}", "disabled": true, "description": "This parameter is no longer available and will be removed from the documentation soon.\nUse `accountId` instead.\nSee the [deprecation notice](/cloud/confluence/deprecation-notice-user-privacy-api-migration-guide/) for details." }, { "key": "username", "value": "{{username}}", "disabled": true, "description": "This parameter is no longer available and will be removed from the documentation soon.\nUse `accountId` instead.\nSee the [deprecation notice](/cloud/confluence/deprecation-notice-user-privacy-api-migration-guide/) for details." }, { "key": "accountId", "value": "{{accountId}}", "disabled": true, "description": "The account ID of the user. The accountId uniquely identifies the user across all Atlassian products.\nFor example, `384093:32b4d9w0-f6a5-3535-11a3-9c8c88d10192`." } ], "variable": [ { "key": "labelName", "value": "{{labelName}}", "description": "The name of the label to add the watcher to.", "disabled": false } ] }, "method": "POST", "header": [ { "key": "X-Atlassian-Token", "value": "{{X-Atlassian-Token}}", "description": "Note, you must add header when making a\nrequest, as this operation has XSRF protection.", "disabled": false } ], "description": "Adds a user as a watcher to a label. Choose the user by doing one of the\nfollowing:\n\n- Specify a user via a query parameter: Use the `accountId` to identify the user.\n- Do not specify a user: The currently logged-in user will be used.\n\nNote, you must add the `X-Atlassian-Token: no-check` header when making a\nrequest, as this operation has XSRF protection.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\n'Confluence Administrator' global permission if specifying a user, otherwise\npermission to access the Confluence site ('Can use' global permission).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Remove label watcher", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/user/watch/label/:labelName", "query": [ { "key": "key", "value": "{{key}}", "disabled": true, "description": "This parameter is no longer available and will be removed from the documentation soon.\nUse `accountId` instead.\nSee the [deprecation notice](/cloud/confluence/deprecation-notice-user-privacy-api-migration-guide/) for details." }, { "key": "username", "value": "{{username}}", "disabled": true, "description": "This parameter is no longer available and will be removed from the documentation soon.\nUse `accountId` instead.\nSee the [deprecation notice](/cloud/confluence/deprecation-notice-user-privacy-api-migration-guide/) for details." }, { "key": "accountId", "value": "{{accountId}}", "disabled": true, "description": "The account ID of the user. The accountId uniquely identifies the user across all Atlassian products.\nFor example, `384093:32b4d9w0-f6a5-3535-11a3-9c8c88d10192`." } ], "variable": [ { "key": "labelName", "value": "{{labelName}}", "description": "The name of the label to remove the watcher from.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Removes a user as a watcher from a label. Choose the user by doing one of\nthe following:\n\n- Specify a user via a query parameter: Use the `accountId` to identify the user.\n- Do not specify a user: The currently logged-in user will be used.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\n'Confluence Administrator' global permission if specifying a user, otherwise\npermission to access the Confluence site ('Can use' global permission).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get space watch status", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/user/watch/space/:spaceKey", "query": [ { "key": "key", "value": "{{key}}", "disabled": true, "description": "This parameter is no longer available and will be removed from the documentation soon.\nUse `accountId` instead.\nSee the [deprecation notice](/cloud/confluence/deprecation-notice-user-privacy-api-migration-guide/) for details." }, { "key": "username", "value": "{{username}}", "disabled": true, "description": "This parameter is no longer available and will be removed from the documentation soon.\nUse `accountId` instead.\nSee the [deprecation notice](/cloud/confluence/deprecation-notice-user-privacy-api-migration-guide/) for details." }, { "key": "accountId", "value": "{{accountId}}", "disabled": true, "description": "The account ID of the user. The accountId uniquely identifies the user across all Atlassian products.\nFor example, `384093:32b4d9w0-f6a5-3535-11a3-9c8c88d10192`." } ], "variable": [ { "key": "spaceKey", "value": "{{spaceKey}}", "description": "The key of the space to be queried for whether the specified user is\nwatching it.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns whether a user is watching a space. Choose the user by\ndoing one of the following:\n\n- Specify a user via a query parameter: Use the `accountId` to identify the user.\n- Do not specify a user: The currently logged-in user will be used.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\n'Confluence Administrator' global permission if specifying a user, otherwise\npermission to access the Confluence site ('Can use' global permission).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Add space watcher", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/user/watch/space/:spaceKey", "query": [ { "key": "key", "value": "{{key}}", "disabled": true, "description": "This parameter is no longer available and will be removed from the documentation soon.\nUse `accountId` instead.\nSee the [deprecation notice](/cloud/confluence/deprecation-notice-user-privacy-api-migration-guide/) for details." }, { "key": "username", "value": "{{username}}", "disabled": true, "description": "This parameter is no longer available and will be removed from the documentation soon.\nUse `accountId` instead.\nSee the [deprecation notice](/cloud/confluence/deprecation-notice-user-privacy-api-migration-guide/) for details." }, { "key": "accountId", "value": "{{accountId}}", "disabled": true, "description": "The account ID of the user. The accountId uniquely identifies the user across all Atlassian products.\nFor example, `384093:32b4d9w0-f6a5-3535-11a3-9c8c88d10192`." } ], "variable": [ { "key": "spaceKey", "value": "{{spaceKey}}", "description": "The key of the space to add the watcher to.", "disabled": false } ] }, "method": "POST", "header": [ { "key": "X-Atlassian-Token", "value": "{{X-Atlassian-Token}}", "description": "Note, you must add header when making a\nrequest, as this operation has XSRF protection.", "disabled": false } ], "description": "Adds a user as a watcher to a space. Choose the user by doing one of the\nfollowing:\n\n- Specify a user via a query parameter: Use the `accountId` to identify the user.\n- Do not specify a user: The currently logged-in user will be used.\n\nNote, you must add the `X-Atlassian-Token: no-check` header when making a\nrequest, as this operation has XSRF protection.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\n'Confluence Administrator' global permission if specifying a user, otherwise\npermission to access the Confluence site ('Can use' global permission).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Remove space watch", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/user/watch/space/:spaceKey", "query": [ { "key": "key", "value": "{{key}}", "disabled": true, "description": "This parameter is no longer available and will be removed from the documentation soon.\nUse `accountId` instead.\nSee the [deprecation notice](/cloud/confluence/deprecation-notice-user-privacy-api-migration-guide/) for details." }, { "key": "username", "value": "{{username}}", "disabled": true, "description": "This parameter is no longer available and will be removed from the documentation soon.\nUse `accountId` instead.\nSee the [deprecation notice](/cloud/confluence/deprecation-notice-user-privacy-api-migration-guide/) for details." }, { "key": "accountId", "value": "{{accountId}}", "disabled": true, "description": "The account ID of the user. The accountId uniquely identifies the user across all Atlassian products.\nFor example, `384093:32b4d9w0-f6a5-3535-11a3-9c8c88d10192`." } ], "variable": [ { "key": "spaceKey", "value": "{{spaceKey}}", "description": "The key of the space to remove the watcher from.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Removes a user as a watcher from a space. Choose the user by doing one of\nthe following:\n\n- Specify a user via a query parameter: Use the `accountId` to identify the user.\n- Do not specify a user: The currently logged-in user will be used.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\n'Confluence Administrator' global permission if specifying a user, otherwise\npermission to access the Confluence site ('Can use' global permission).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Dynamic modules", "description": "", "item": [ { "name": "Get modules", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}atlassian-connect/1/app/module/dynamic", "query": [], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "*/*" } ], "description": "Returns all modules registered dynamically by the calling app.\n\n**[Permissions](#permissions) required:** Only Connect apps can make this request." }, "response": [] }, { "name": "Register modules", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}atlassian-connect/1/app/module/dynamic", "query": [], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "*/*" } ], "description": "Registers a list of modules. For the list of modules that support dynamic registration, see [Dynamic modules](https://developer.atlassian.com/cloud/confluence/dynamic-modules/).\n\n**[Permissions](#permissions) required:** Only Connect apps can make this request.", "body": { "mode": "raw" } }, "response": [] }, { "name": "Remove modules", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}atlassian-connect/1/app/module/dynamic", "query": [ { "key": "moduleKey", "value": "{{moduleKey}}", "disabled": false, "description": "The key of the module to remove. To include multiple module keys, provide multiple copies of this parameter.\nFor example, `moduleKey=dynamic-attachment-entity-property&moduleKey=dynamic-select-field`.\nNonexistent keys are ignored." } ], "variable": [] }, "method": "DELETE", "header": [], "description": "Remove all or a list of modules registered by the calling app.\n\n**[Permissions](#permissions) required:** Only Connect apps can make this request." }, "response": [] } ] }, { "name": "Experimental", "description": "APIs in this section can change without any prior deprecation notice.", "item": [ { "name": "Delete page tree", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/content/:id/pageTree", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the content which forms root of the page tree, to be deleted.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Moves a pagetree rooted at a page to the space's trash:\n\n- If the content's type is `page` and its status is `current`, it will be trashed including\nall its descendants.\n- For every other combination of content type and status, this API is not supported.\n\nThis API accepts the pageTree delete request and returns a task ID.\nThe delete process happens asynchronously.\n\n Response example:\n \n {\n \"id\" : \"1180606\",\n \"links\" : {\n \"status\" : \"/rest/api/longtask/1180606\"\n }\n }\n \n Use the `/longtask/` REST API to get the copy task status.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\n'Delete' permission for the space that the content is in.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get Space Labels", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/space/:spaceKey/label", "query": [ { "key": "prefix", "value": "{{prefix}}", "disabled": true, "description": "Filters the results to labels with the specified prefix. If this parameter\nis not specified, then labels with any prefix will be returned.\n\n- `global` prefix is used by labels that are on content within the provided space.\n- `my` prefix can be explicitly added by a user when adding a label\nvia the UI, e.g. 'my:example-label'.\n- `team` prefix is used for labels applied to the space." }, { "key": "start", "value": "{{start}}", "disabled": true, "description": "The starting index of the returned labels." }, { "key": "limit", "value": "{{limit}}", "disabled": true, "description": "The maximum number of labels to return per page. Note,\nthis may be restricted by fixed system limits." } ], "variable": [ { "key": "spaceKey", "value": "{{spaceKey}}", "description": "The key of the space to get labels for.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a list of labels associated with a space. Can provide a prefix as well as other filters to\nselect different types of labels.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Add labels to a space", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/space/:spaceKey/label", "query": [], "variable": [ { "key": "spaceKey", "value": "{{spaceKey}}", "description": "The key of the space to add labels to.", "disabled": false } ] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Adds labels to a piece of content. Does not modify the existing labels.\n\nNotes:\n\n- Labels can also be added when creating content ([Create content](#api-content-post)).\n- Labels can be updated when updating content ([Update content](#api-content-id-put)).\nThis will delete the existing labels and replace them with the labels in\nthe request.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\nPermission to update the content.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "" } }, "response": [] }, { "name": "Remove label from a space", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/space/:spaceKey/label", "query": [ { "key": "name", "value": "{{name}}", "disabled": false, "description": "The name of the label to remove" }, { "key": "prefix", "value": "{{prefix}}", "disabled": true, "description": "The prefix of the label to remove. If not provided defaults to global." } ], "variable": [ { "key": "spaceKey", "value": "{{spaceKey}}", "description": "The key of the space to remove a labels from.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Group", "description": "**[WARNING](https://support.atlassian.com/user-management/docs/create-and-update-groups/) The standard Atlassian group names are default names only and can be edited or deleted.** For example, an admin or Atlassian support could delete the default group jira-software-users or rename it to jsw-users at any point.", "item": [ { "name": "Get groups", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/group", "query": [ { "key": "start", "value": "{{start}}", "disabled": true, "description": "The starting index of the returned groups." }, { "key": "limit", "value": "{{limit}}", "disabled": true, "description": "The maximum number of groups to return per page.\nNote, this may be restricted by fixed system limits." }, { "key": "accessType", "value": "{{accessType}}", "disabled": true, "description": "The group permission level for which to filter results." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns all user groups. The returned groups are ordered alphabetically in\nascending order by group name.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\nPermission to access the Confluence site ('Can use' global permission).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Create new user group", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/group", "query": [], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Creates a new user group.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\nUser must be a site admin.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "" } }, "response": [] }, { "name": "Get group", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/group/by-id", "query": [ { "key": "id", "value": "{{id}}", "disabled": false, "description": "The id of the group." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a user group for a given group id.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\nPermission to access the Confluence site ('Can use' global permission).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Delete user group", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/group/by-id", "query": [ { "key": "id", "value": "{{id}}", "disabled": false, "description": "Id of the group to delete." } ], "variable": [] }, "method": "DELETE", "header": [], "description": "Delete user group.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\nUser must be a site admin.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Search groups by partial query", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/group/picker", "query": [ { "key": "query", "value": "{{query}}", "disabled": false, "description": "the search term used to query results." }, { "key": "start", "value": "{{start}}", "disabled": true, "description": "The starting index of the returned groups." }, { "key": "limit", "value": "{{limit}}", "disabled": true, "description": "The maximum number of groups to return per page.\nNote, this is restricted to a maximum limit of 200 groups." }, { "key": "shouldReturnTotalSize", "value": "{{shouldReturnTotalSize}}", "disabled": true, "description": "Whether to include total size parameter in the results.\nNote, fetching total size property is an expensive operation; use it if your use case needs this value." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Get search results of groups by partial query provided.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get group members", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/group/:groupId/membersByGroupId", "query": [ { "key": "start", "value": "{{start}}", "disabled": true, "description": "The starting index of the returned users." }, { "key": "limit", "value": "{{limit}}", "disabled": true, "description": "The maximum number of users to return per page.\nNote, this may be restricted by fixed system limits." }, { "key": "shouldReturnTotalSize", "value": "{{shouldReturnTotalSize}}", "disabled": true, "description": "Whether to include total size parameter in the results.\nNote, fetching total size property is an expensive operation; use it if your use case needs this value." }, { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "A multi-value parameter indicating which properties of the user to\nexpand.\n\n - `operations` returns the operations that the user is allowed to do.\n - `personalSpace` returns the user's personal space, if it exists.\n - `isExternalCollaborator`(@deprecated) see `isGuest` in response to find out whether the user is a guest." } ], "variable": [ { "key": "groupId", "value": "{{groupId}}", "description": "The id of the group to be queried for its members.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the users that are members of a group.\n\nUse updated Get group API\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\nPermission to access the Confluence site ('Can use' global permission).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Add member to group by groupId", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/group/userByGroupId", "query": [ { "key": "groupId", "value": "{{groupId}}", "disabled": false, "description": "GroupId of the group whose membership is updated" } ], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Adds a user as a member in a group represented by its groupId\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\nUser must be a site admin.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "" } }, "response": [] }, { "name": "Remove member from group using group id", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/group/userByGroupId", "query": [ { "key": "groupId", "value": "{{groupId}}", "disabled": false, "description": "Id of the group whose membership is updated." }, { "key": "accountId", "value": "{{accountId}}", "disabled": false, "description": "The account ID of the user. The accountId uniquely identifies the user across all Atlassian products.\nFor example, `384093:32b4d9w0-f6a5-3535-11a3-9c8c88d10192`." }, { "key": "key", "value": "{{key}}", "disabled": true, "description": "This parameter is no longer available and will be removed from the documentation soon.\nUse `accountId` instead.\nSee the [deprecation notice](/cloud/confluence/deprecation-notice-user-privacy-api-migration-guide/) for details." }, { "key": "username", "value": "{{username}}", "disabled": true, "description": "This parameter is no longer available and will be removed from the documentation soon.\nUse `accountId` instead.\nSee the [deprecation notice](/cloud/confluence/deprecation-notice-user-privacy-api-migration-guide/) for details." } ], "variable": [] }, "method": "DELETE", "header": [], "description": "Remove user as a member from a group.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\nUser must be a site admin.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Label info", "description": "", "item": [ { "name": "Get label information", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/label", "query": [ { "key": "name", "value": "{{name}}", "disabled": false, "description": "Name of the label to query." }, { "key": "type", "value": "{{type}}", "disabled": true, "description": "The type of contents that are to be returned." }, { "key": "start", "value": "{{start}}", "disabled": true, "description": "The starting offset for the results." }, { "key": "limit", "value": "{{limit}}", "disabled": true, "description": "The number of results to be returned." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns label information and a list of contents associated with the label.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\nPermission to access the Confluence site ('Can use' global permission). Only contents\nthat the user is permitted to view is returned.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Long-running task", "description": "", "item": [ { "name": "Get long-running tasks", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/longtask", "query": [ { "key": "key", "value": "{{key}}", "disabled": true, "description": "The key of the tasks." }, { "key": "start", "value": "{{start}}", "disabled": true, "description": "The starting index of the returned tasks." }, { "key": "limit", "value": "{{limit}}", "disabled": true, "description": "The maximum number of tasks to return per page. Note, this may be\nrestricted by fixed system limits." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns information about all active long-running tasks (e.g. space export),\nsuch as how long each task has been running and the percentage of each task\nthat has completed.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\nPermission to access the Confluence site ('Can use' global permission).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get long-running task", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/longtask/:id", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The ID of the task.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns information about an active long-running task (e.g. space export),\nsuch as how long it has been running and the percentage of the task that\nhas completed.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\nPermission to access the Confluence site ('Can use' global permission).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Relation", "description": "", "item": [ { "name": "Find target entities related to a source entity", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/relation/:relationName/from/:sourceType/:sourceKey/to/:targetType", "query": [ { "key": "sourceStatus", "value": "{{sourceStatus}}", "disabled": true, "description": "The status of the source. This parameter is only used when the\n`sourceType` is 'content'." }, { "key": "targetStatus", "value": "{{targetStatus}}", "disabled": true, "description": "The status of the target. This parameter is only used when the\n`targetType` is 'content'." }, { "key": "sourceVersion", "value": "{{sourceVersion}}", "disabled": true, "description": "The version of the source. This parameter is only used when the\n`sourceType` is 'content' and the `sourceStatus` is 'historical'." }, { "key": "targetVersion", "value": "{{targetVersion}}", "disabled": true, "description": "The version of the target. This parameter is only used when the\n`targetType` is 'content' and the `targetStatus` is 'historical'." }, { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "A multi-value parameter indicating which properties of the response\nobject to expand.\n\n- `relationData` returns information about the relationship, such as\nwho created it and when it was created.\n- `source` returns the source entity.\n- `target` returns the target entity." }, { "key": "start", "value": "{{start}}", "disabled": true, "description": "The starting index of the returned relationships." }, { "key": "limit", "value": "{{limit}}", "disabled": true, "description": "The maximum number of relationships to return per page.\nNote, this may be restricted by fixed system limits." } ], "variable": [ { "key": "relationName", "value": "{{relationName}}", "description": "The name of the relationship. This method supports relationships created via\n[Create relationship](#api-wiki-rest-api-relation-relationname-from-sourcetype-sourcekey-to-targettype-targetkey-put).\nNote, this method does not support 'like' or 'favourite' relationships.", "disabled": false }, { "key": "sourceType", "value": "{{sourceType}}", "description": "The source entity type of the relationship.", "disabled": false }, { "key": "sourceKey", "value": "{{sourceKey}}", "description": "The identifier for the source entity:\n\n- If `sourceType` is `user`, then specify either `current` (logged-in user), the user key of the user, or\nthe account ID of the user. Note that the user key has been deprecated in favor of the account ID for this parameter. See the\n[migration guide](https://developer.atlassian.com/cloud/confluence/deprecation-notice-user-privacy-api-migration-guide/)\nfor details.\n- If `sourceType` is 'content', then specify the content ID.\n- If `sourceType` is 'space', then specify the space key.", "disabled": false }, { "key": "targetType", "value": "{{targetType}}", "description": "The target entity type of the relationship.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns all target entities that have a particular relationship to the\nsource entity. Note, relationships are one way.\n\nFor example, the following method finds all content that the current user\nhas an 'ignore' relationship with:\n`GET /wiki/rest/api/relation/ignore/from/user/current/to/content`\nNote, 'ignore' is an example custom relationship type.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\nPermission to view both the target entity and source entity.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Find relationship from source to target", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/relation/:relationName/from/:sourceType/:sourceKey/to/:targetType/:targetKey", "query": [ { "key": "sourceStatus", "value": "{{sourceStatus}}", "disabled": true, "description": "The status of the source. This parameter is only used when the\n`sourceType` is 'content'." }, { "key": "targetStatus", "value": "{{targetStatus}}", "disabled": true, "description": "The status of the target. This parameter is only used when the\n`targetType` is 'content'." }, { "key": "sourceVersion", "value": "{{sourceVersion}}", "disabled": true, "description": "The version of the source. This parameter is only used when the\n`sourceType` is 'content' and the `sourceStatus` is 'historical'." }, { "key": "targetVersion", "value": "{{targetVersion}}", "disabled": true, "description": "The version of the target. This parameter is only used when the\n`targetType` is 'content' and the `targetStatus` is 'historical'." }, { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "A multi-value parameter indicating which properties of the response\nobject to expand.\n\n- `relationData` returns information about the relationship, such as\nwho created it and when it was created.\n- `source` returns the source entity.\n- `target` returns the target entity." } ], "variable": [ { "key": "relationName", "value": "{{relationName}}", "description": "The name of the relationship. This method supports the 'favourite'\n(i.e. 'save for later') relationship as well as any other relationship\ntypes created via [Create relationship](#api-wiki-rest-api-relation-relationname-from-sourcetype-sourcekey-to-targettype-targetkey-put).", "disabled": false }, { "key": "sourceType", "value": "{{sourceType}}", "description": "The source entity type of the relationship. This must be 'user', if\nthe `relationName` is 'favourite'.", "disabled": false }, { "key": "sourceKey", "value": "{{sourceKey}}", "description": "- The identifier for the source entity:\n\n- If `sourceType` is `user`, then specify either `current` (logged-in user), the user key of the user, or\nthe account ID of the user. Note that the user key has been deprecated in favor of the account ID for this parameter. See the\n[migration guide](https://developer.atlassian.com/cloud/confluence/deprecation-notice-user-privacy-api-migration-guide/)\nfor details.\n- If `sourceType` is 'content', then specify the content ID.\n- If `sourceType` is 'space', then specify the space key.", "disabled": false }, { "key": "targetType", "value": "{{targetType}}", "description": "The target entity type of the relationship. This must be 'space' or\n'content', if the `relationName` is 'favourite'.", "disabled": false }, { "key": "targetKey", "value": "{{targetKey}}", "description": "The identifier for the target entity:\n\n- If `targetType` is `user`, then specify either `current` (logged-in user), the user key of the user, or\nthe account ID of the user. Note that the user key has been deprecated in favor of the account ID for this parameter. See the\n[migration guide](https://developer.atlassian.com/cloud/confluence/deprecation-notice-user-privacy-api-migration-guide/)\nfor details.\n- If `targetType` is 'content', then specify the content ID.\n- If `targetType` is 'space', then specify the space key.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Find whether a particular type of relationship exists from a source\nentity to a target entity. Note, relationships are one way.\n\nFor example, you can use this method to find whether the current user has\nselected a particular page as a favorite (i.e. 'save for later'):\n`GET /wiki/rest/api/relation/favourite/from/user/current/to/content/123`\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\nPermission to view both the target entity and source entity.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Create relationship", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/relation/:relationName/from/:sourceType/:sourceKey/to/:targetType/:targetKey", "query": [ { "key": "sourceStatus", "value": "{{sourceStatus}}", "disabled": true, "description": "The status of the source. This parameter is only used when the\n`sourceType` is 'content'." }, { "key": "targetStatus", "value": "{{targetStatus}}", "disabled": true, "description": "The status of the target. This parameter is only used when the\n`targetType` is 'content'." }, { "key": "sourceVersion", "value": "{{sourceVersion}}", "disabled": true, "description": "The version of the source. This parameter is only used when the\n`sourceType` is 'content' and the `sourceStatus` is 'historical'." }, { "key": "targetVersion", "value": "{{targetVersion}}", "disabled": true, "description": "The version of the target. This parameter is only used when the\n`targetType` is 'content' and the `targetStatus` is 'historical'." } ], "variable": [ { "key": "relationName", "value": "{{relationName}}", "description": "The name of the relationship. This method supports the 'favourite'\n(i.e. 'save for later') relationship. You can also specify any other\nvalue for this parameter to create a custom relationship type.", "disabled": false }, { "key": "sourceType", "value": "{{sourceType}}", "description": "The source entity type of the relationship. This must be 'user', if\nthe `relationName` is 'favourite'.", "disabled": false }, { "key": "sourceKey", "value": "{{sourceKey}}", "description": "- The identifier for the source entity:\n\n- If `sourceType` is `user`, then specify either `current` (logged-in user), the user key of the user, or\nthe account ID of the user. Note that the user key has been deprecated in favor of the account ID for this parameter. See the\n[migration guide](https://developer.atlassian.com/cloud/confluence/deprecation-notice-user-privacy-api-migration-guide/)\nfor details.\n- If `sourceType` is 'content', then specify the content ID.\n- If `sourceType` is 'space', then specify the space key.", "disabled": false }, { "key": "targetType", "value": "{{targetType}}", "description": "The target entity type of the relationship. This must be 'space' or\n'content', if the `relationName` is 'favourite'.", "disabled": false }, { "key": "targetKey", "value": "{{targetKey}}", "description": "- The identifier for the target entity:\n\n- If `targetType` is `user`, then specify either `current` (logged-in user), the user key of the user, or\nthe account ID of the user. Note that the user key has been deprecated in favor of the account ID for this parameter. See the\n[migration guide](https://developer.atlassian.com/cloud/confluence/deprecation-notice-user-privacy-api-migration-guide/)\nfor details.\n- If `targetType` is 'content', then specify the content ID.\n- If `targetType` is 'space', then specify the space key.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Creates a relationship between two entities (user, space, content). The\n'favourite' relationship is supported by default, but you can use this method\nto create any type of relationship between two entities.\n\nFor example, the following method creates a 'sibling' relationship between\ntwo pieces of content:\n`PUT /wiki/rest/api/relation/sibling/from/content/123/to/content/456`\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\nPermission to access the Confluence site ('Can use' global permission).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Delete relationship", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/relation/:relationName/from/:sourceType/:sourceKey/to/:targetType/:targetKey", "query": [ { "key": "sourceStatus", "value": "{{sourceStatus}}", "disabled": true, "description": "The status of the source. This parameter is only used when the\n`sourceType` is 'content'." }, { "key": "targetStatus", "value": "{{targetStatus}}", "disabled": true, "description": "The status of the target. This parameter is only used when the\n`targetType` is 'content'." }, { "key": "sourceVersion", "value": "{{sourceVersion}}", "disabled": true, "description": "The version of the source. This parameter is only used when the\n`sourceType` is 'content' and the `sourceStatus` is 'historical'." }, { "key": "targetVersion", "value": "{{targetVersion}}", "disabled": true, "description": "The version of the target. This parameter is only used when the\n`targetType` is 'content' and the `targetStatus` is 'historical'." } ], "variable": [ { "key": "relationName", "value": "{{relationName}}", "description": "The name of the relationship.", "disabled": false }, { "key": "sourceType", "value": "{{sourceType}}", "description": "The source entity type of the relationship. This must be 'user', if\nthe `relationName` is 'favourite'.", "disabled": false }, { "key": "sourceKey", "value": "{{sourceKey}}", "description": "- The identifier for the source entity:\n\n- If `sourceType` is `user`, then specify either `current` (logged-in user), the user key of the user, or\nthe account ID of the user. Note that the user key has been deprecated in favor of the account ID for this parameter. See the\n[migration guide](https://developer.atlassian.com/cloud/confluence/deprecation-notice-user-privacy-api-migration-guide/)\nfor details.\n- If `sourceType` is 'content', then specify the content ID.\n- If `sourceType` is 'space', then specify the space key.", "disabled": false }, { "key": "targetType", "value": "{{targetType}}", "description": "The target entity type of the relationship. This must be 'space' or\n'content', if the `relationName` is 'favourite'.", "disabled": false }, { "key": "targetKey", "value": "{{targetKey}}", "description": "- The identifier for the target entity:\n\n- If `targetType` is `user`, then specify either `current` (logged-in user), the user key of the user, or\nthe account ID of the user. Note that the user key has been deprecated in favor of the account ID for this parameter. See the\n[migration guide](https://developer.atlassian.com/cloud/confluence/deprecation-notice-user-privacy-api-migration-guide/)\nfor details.\n- If `targetType` is 'content', then specify the content ID.\n- If `targetType` is 'space', then specify the space key.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Deletes a relationship between two entities (user, space, content).\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\nPermission to access the Confluence site ('Can use' global permission).\nFor favourite relationships, the current user can only delete their own\nfavourite relationships. A space administrator can delete favourite\nrelationships for any user.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Find source entities related to a target entity", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/relation/:relationName/to/:targetType/:targetKey/from/:sourceType", "query": [ { "key": "sourceStatus", "value": "{{sourceStatus}}", "disabled": true, "description": "The status of the source. This parameter is only used when the\n`sourceType` is 'content'." }, { "key": "targetStatus", "value": "{{targetStatus}}", "disabled": true, "description": "The status of the target. This parameter is only used when the\n`targetType` is 'content'." }, { "key": "sourceVersion", "value": "{{sourceVersion}}", "disabled": true, "description": "The version of the source. This parameter is only used when the\n`sourceType` is 'content' and the `sourceStatus` is 'historical'." }, { "key": "targetVersion", "value": "{{targetVersion}}", "disabled": true, "description": "The version of the target. This parameter is only used when the\n`targetType` is 'content' and the `targetStatus` is 'historical'." }, { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "A multi-value parameter indicating which properties of the response\nobject to expand.\n\n- `relationData` returns information about the relationship, such as\nwho created it and when it was created.\n- `source` returns the source entity.\n- `target` returns the target entity." }, { "key": "start", "value": "{{start}}", "disabled": true, "description": "The starting index of the returned relationships." }, { "key": "limit", "value": "{{limit}}", "disabled": true, "description": "The maximum number of relationships to return per page.\nNote, this may be restricted by fixed system limits." } ], "variable": [ { "key": "relationName", "value": "{{relationName}}", "description": "The name of the relationship. This method supports relationships created via\n[Create relationship](#api-wiki-rest-api-relation-relationname-from-sourcetype-sourcekey-to-targettype-targetkey-put).\nNote, this method does not support 'like' or 'favourite' relationships.", "disabled": false }, { "key": "sourceType", "value": "{{sourceType}}", "description": "The source entity type of the relationship.", "disabled": false }, { "key": "targetType", "value": "{{targetType}}", "description": "The target entity type of the relationship.", "disabled": false }, { "key": "targetKey", "value": "{{targetKey}}", "description": "The identifier for the target entity:\n\n- If `targetType` is `user`, then specify either `current` (logged-in user), the user key of the user, or\nthe account ID of the user. Note that the user key has been deprecated in favor of the account ID for this parameter. See the\n[migration guide](https://developer.atlassian.com/cloud/confluence/deprecation-notice-user-privacy-api-migration-guide/)\nfor details.\n- If `targetType` is 'content', then specify the content ID.\n- If `targetType` is 'space', then specify the space key.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns all target entities that have a particular relationship to the\nsource entity. Note, relationships are one way.\n\nFor example, the following method finds all users that have a 'collaborator'\nrelationship to a piece of content with an ID of '1234':\n`GET /wiki/rest/api/relation/collaborator/to/content/1234/from/user`\nNote, 'collaborator' is an example custom relationship type.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\nPermission to view both the target entity and source entity.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Search", "description": "", "item": [ { "name": "Search content", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/search", "query": [ { "key": "cql", "value": "{{cql}}", "disabled": false, "description": "The CQL query to be used for the search. See\n[Advanced Searching using CQL](https://developer.atlassian.com/cloud/confluence/advanced-searching-using-cql/)\nfor instructions on how to build a CQL query." }, { "key": "cqlcontext", "value": "{{cqlcontext}}", "disabled": true, "description": "The space, content, and content status to execute the search\nagainst.\n\n- `spaceKey` Key of the space to search against. Optional.\n- `contentId` ID of the content to search against. Optional. Must be\nin the space specified by `spaceKey`.\n- `contentStatuses` Content statuses to search against. Optional.\n\nSpecify these values in an object. For example,\n`cqlcontext={%22spaceKey%22:%22TEST%22, %22contentId%22:%22123%22}`" }, { "key": "cursor", "value": "{{cursor}}", "disabled": true, "description": "Pointer to a set of search results, returned as part of the `next` or `prev` URL from the previous search call." }, { "key": "next", "value": "{{next}}", "disabled": true }, { "key": "prev", "value": "{{prev}}", "disabled": true }, { "key": "limit", "value": "{{limit}}", "disabled": true, "description": "The maximum number of content objects to return per page.\nNote, this may be restricted by fixed system limits." }, { "key": "start", "value": "{{start}}", "disabled": true, "description": "The start point of the collection to return" }, { "key": "includeArchivedSpaces", "value": "{{includeArchivedSpaces}}", "disabled": true, "description": "Whether to include content from archived spaces in the results." }, { "key": "excludeCurrentSpaces", "value": "{{excludeCurrentSpaces}}", "disabled": true, "description": "Whether to exclude current spaces and only show archived spaces." }, { "key": "excerpt", "value": "{{excerpt}}", "disabled": true, "description": "The excerpt strategy to apply to the result" }, { "key": "sitePermissionTypeFilter", "value": "{{sitePermissionTypeFilter}}", "disabled": true, "description": "Filters users by permission type. Use `none` to default to licensed users, `externalCollaborator`\nfor external/guest users, and `all` to include all permission types." }, { "key": "_", "value": "{{_}}", "disabled": true }, { "key": "expand", "value": "{{expand}}", "disabled": true } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Searches for content using the\n[Confluence Query Language (CQL)](https://developer.atlassian.com/cloud/confluence/advanced-searching-using-cql/).\n\n**Note that CQL input queries submitted through the `/wiki/rest/api/search` endpoint no longer support user-specific fields like `user`, `user.fullname`, `user.accountid`, and `user.userkey`.** \nSee this [deprecation notice](https://developer.atlassian.com/cloud/confluence/deprecation-notice-search-api/) for more details.\n\nExample initial call:\n```\n/wiki/rest/api/search?cql=type=page&limit=25\n```\n\nExample response:\n```\n{\n \"results\": [\n { ... },\n { ... },\n ...\n { ... }\n ],\n \"limit\": 25,\n \"size\": 25,\n ...\n \"_links\": {\n \"base\": \"\",\n \"context\": \"\",\n \"next\": \"/rest/api/search?cql=type=page&limit=25&cursor=raNDoMsTRiNg\",\n \"self\": \"\"\n }\n}\n```\n\nWhen additional results are available, returns `next` and `prev` URLs to retrieve them in subsequent calls. The URLs each contain a cursor that points to the appropriate set of results. Use `limit` to specify the number of results returned in each call.\n\nExample subsequent call (taken from example response):\n```\n/wiki/rest/api/search?cql=type=page&limit=25&cursor=raNDoMsTRiNg\n```\nThe response to this will have a `prev` URL similar to the `next` in the example response.\n\nIf the expand query parameter is used with the `body.export_view` and/or `body.styled_view` properties, then the query limit parameter will be restricted to a maximum value of 25.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\nPermission to view the entities. Note, only entities that the user has\npermission to view will be returned.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Search users", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/search/user", "query": [ { "key": "cql", "value": "{{cql}}", "disabled": false, "description": "The CQL query to be used for the search. See\n[Advanced Searching using CQL](https://developer.atlassian.com/cloud/confluence/advanced-searching-using-cql/)\nfor instructions on how to build a CQL query.\n\nExample queries:\n cql=type=user will return up to 10k users\n cql=user=\"1234\" will return user with accountId \"1234\"\n You can also use IN, NOT IN, != operators\n cql=user IN (\"12\", \"34\") will return users with accountids \"12\" and \"34\"\n cql=user.fullname~jo will return users with nickname/full name starting with \"jo\"\n cql=user.accountid=\"123\" will return user with accountId \"123\"" }, { "key": "start", "value": "{{start}}", "disabled": true, "description": "The starting index of the returned users." }, { "key": "limit", "value": "{{limit}}", "disabled": true, "description": "The maximum number of user objects to return per page.\nNote, this may be restricted by fixed system limits." }, { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "A multi-value parameter indicating which properties of the user to expand.\n\n- `operations` returns the operations for the user, which are used\nwhen setting permissions.\n- `personalSpace` returns the personal space of the user." }, { "key": "sitePermissionTypeFilter", "value": "{{sitePermissionTypeFilter}}", "disabled": true, "description": "Filters users by permission type. Use `none` to default to licensed users, `externalCollaborator`\nfor external/guest users, and `all` to include all permission types." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Searches for users using user-specific queries from the\n[Confluence Query Language (CQL)](https://developer.atlassian.com/cloud/confluence/advanced-searching-using-cql/).\n\nNote that CQL input queries submitted through the `/wiki/rest/api/search/user` endpoint only support user-specific fields like `user`, `user.fullname`, `user.accountid`, and `user.userkey`.\n\nNote that some user fields may be set to null depending on the user's privacy settings.\nThese are: email, profilePicture, displayName, and timeZone.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Settings", "description": "", "item": [ { "name": "Get look and feel settings", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/settings/lookandfeel", "query": [ { "key": "spaceKey", "value": "{{spaceKey}}", "disabled": true, "description": "The key of the space for which the look and feel settings will be\nreturned. If this is not set, only the global look and feel settings\nare returned." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the look and feel settings for the site or a single space. This\nincludes attributes such as the color scheme, padding, and border radius.\n\nThe look and feel settings for a space can be inherited from the global\nlook and feel settings or provided by a theme.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\nNone", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Select look and feel settings", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/settings/lookandfeel", "query": [], "variable": [] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Sets the look and feel settings to the default (global) settings, the\ncustom settings, or the current theme's settings for a space.\nThe custom and theme settings can only be selected if there is already\na theme set for a space. Note, the default space settings are inherited\nfrom the current global settings.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\n'Admin' permission for the space.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "" } }, "response": [] }, { "name": "Update look and feel settings", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/settings/lookandfeel/custom", "query": [ { "key": "spaceKey", "value": "{{spaceKey}}", "disabled": true, "description": "The key of the space for which the look and feel settings will be\nupdated. If this is not set, the global look and feel settings will\nbe updated." } ], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Updates the look and feel settings for the site or for a single space.\nIf custom settings exist, they are updated. If no custom settings exist,\nthen a set of custom settings is created.\n\nNote, if a theme is selected for a space, the space look and feel settings\nare provided by the theme and cannot be overridden.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\n'Admin' permission for the space.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "" } }, "response": [] }, { "name": "Reset look and feel settings", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/settings/lookandfeel/custom", "query": [ { "key": "spaceKey", "value": "{{spaceKey}}", "disabled": true, "description": "The key of the space for which the look and feel settings will be\nreset. If this is not set, the global look and feel settings will\nbe reset." } ], "variable": [] }, "method": "DELETE", "header": [], "description": "Resets the custom look and feel settings for the site or a single space.\nThis changes the values of the custom settings to be the same as the\ndefault settings. It does not change which settings (default or custom)\nare selected. Note, the default space settings are inherited from the\ncurrent global settings.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\n'Admin' permission for the space.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get system info", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/settings/systemInfo", "query": [], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the system information for the Confluence Cloud tenant. This\ninformation is used by Atlassian.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\nPermission to access the Confluence site ('Can use' global permission).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Space", "description": "", "item": [ { "name": "Create space", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/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. Note, currently you cannot set space labels when\ncreating a space.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\n'Create Space(s)' global permission.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "" } }, "response": [] }, { "name": "Create private space", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/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 space that is only visible to the creator. This method is\nthe same as the [Create space](#api-space-post) method with permissions\nset to the current user only. Note, currently you cannot set space\nlabels when creating a space.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\n'Create Space(s)' global permission.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "" } }, "response": [] }, { "name": "Update space", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/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 the name, description, or homepage of a space.\n\n- For security reasons, permissions cannot be updated via the API and\nmust be changed via the user interface instead.\n- Currently you cannot set space labels when updating a space.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\n'Admin' permission for the space.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "" } }, "response": [] }, { "name": "Delete space", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/space/:spaceKey", "query": [], "variable": [ { "key": "spaceKey", "value": "{{spaceKey}}", "description": "The key of the space to delete.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Permanently deletes a space without sending it to the trash. Note, the space will be deleted in a long running task.\nTherefore, the space may not be deleted yet when this method has\nreturned. Clients should poll the status link that is returned in the\nresponse until the task completes.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\n'Admin' permission for the space.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Space permissions", "description": "", "item": [ { "name": "Add new permission to space", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/space/:spaceKey/permission", "query": [], "variable": [ { "key": "spaceKey", "value": "{{spaceKey}}", "description": "The key of the space to be queried for its content.", "disabled": false } ] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Adds new permission to space.\n\nIf the permission to be added is a group permission, the group can be identified\nby its group name or group id.\n\nNote: Apps cannot access this REST resource - including when utilizing user impersonation.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\n'Admin' permission for the space.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "" } }, "response": [] }, { "name": "Add new custom content permission to space", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/space/:spaceKey/permission/custom-content", "query": [], "variable": [ { "key": "spaceKey", "value": "{{spaceKey}}", "description": "The key of the space to be queried for its content.", "disabled": false } ] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Adds new custom content permission to space.\n\nIf the permission to be added is a group permission, the group can be identified\nby its group name or group id.\n\nNote: Only apps can access this REST resource and only make changes to the respective app permissions.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\n'Admin' permission for the space.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "" } }, "response": [] }, { "name": "Remove a space permission", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/space/:spaceKey/permission/:id", "query": [], "variable": [ { "key": "spaceKey", "value": "{{spaceKey}}", "description": "The key of the space to be queried for its content.", "disabled": false }, { "key": "id", "value": "{{id}}", "description": "Id of the permission to be deleted.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Removes a space permission. Note that removing Read Space permission for a user or group will remove all\nthe space permissions for that user or group.\n\nNote: Apps cannot access this REST resource - including when utilizing user impersonation.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\n'Admin' permission for the space.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Space settings", "description": "", "item": [ { "name": "Get space settings", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/space/:spaceKey/settings", "query": [], "variable": [ { "key": "spaceKey", "value": "{{spaceKey}}", "description": "The key of the space to be queried for its settings.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the settings of a space. Currently only the\n`routeOverrideEnabled` setting can be returned.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\n'View' permission for the space.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Update space settings", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/space/:spaceKey/settings", "query": [], "variable": [ { "key": "spaceKey", "value": "{{spaceKey}}", "description": "The key of the space whose settings will be updated.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Updates the settings for a space. Currently only the\n`routeOverrideEnabled` setting can be updated.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\n'Admin' permission for the space.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "" } }, "response": [] } ] }, { "name": "Template", "description": "", "item": [ { "name": "Update content template", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/template", "query": [], "variable": [] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Updates a content template. Note, blueprint templates cannot be updated\nvia the REST API.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\n'Admin' permission for the space to update a space template or 'Confluence Administrator'\nglobal permission to update a global template.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "" } }, "response": [] }, { "name": "Create content template", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/template", "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 content template. Note, blueprint templates cannot be created via the REST API.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\n'Admin' permission for the space to create a space template or 'Confluence Administrator'\nglobal permission to create a global template.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "" } }, "response": [] }, { "name": "Get blueprint templates", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/template/blueprint", "query": [ { "key": "spaceKey", "value": "{{spaceKey}}", "disabled": true, "description": "The key of the space to be queried for templates. If the `spaceKey`\nis not specified, global blueprint templates will be returned." }, { "key": "start", "value": "{{start}}", "disabled": true, "description": "The starting index of the returned templates." }, { "key": "limit", "value": "{{limit}}", "disabled": true, "description": "The maximum number of templates to return per page.\nNote, this may be restricted by fixed system limits." }, { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "A multi-value parameter indicating which properties of the template\nto expand.\n\n- `body` or `body.storage` returns the content of the template in storage format." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns all templates provided by blueprints. Use this method to retrieve\nall global blueprint templates or all blueprint templates in a space.\n\nNote, all global blueprints are inherited by each space. Space blueprints\ncan be customised without affecting the global blueprints.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\n'View' permission for the space to view blueprints for the space and permission\nto access the Confluence site ('Can use' global permission) to view global blueprints.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get content templates", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/template/page", "query": [ { "key": "spaceKey", "value": "{{spaceKey}}", "disabled": true, "description": "The key of the space to be queried for templates. If the `spaceKey`\nis not specified, global templates will be returned." }, { "key": "start", "value": "{{start}}", "disabled": true, "description": "The starting index of the returned templates." }, { "key": "limit", "value": "{{limit}}", "disabled": true, "description": "The maximum number of templates to return per page.\nNote, this may be restricted by fixed system limits." }, { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "A multi-value parameter indicating which properties of the template\nto expand.\n\n- `body` or `body.storage` returns the content of the template in storage format." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns all content templates. Use this method to retrieve all global\ncontent templates or all content templates in a space.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\n'View' permission for the space to view space templates and permission to\naccess the Confluence site ('Can use' global permission) to view global templates.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get content template", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/template/:contentTemplateId", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "A multi-value parameter indicating which properties of the template\nto expand.\n\n- `body` or `body.storage` returns the content of the template in storage format." } ], "variable": [ { "key": "contentTemplateId", "value": "{{contentTemplateId}}", "description": "The ID of the content template to be returned.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a content template. This includes information about template,\nlike the name, the space or blueprint that the template is in, the body\nof the template, and more.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\n'View' permission for the space to view space templates and permission to\naccess the Confluence site ('Can use' global permission) to view global templates.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Remove template", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/template/:contentTemplateId", "query": [], "variable": [ { "key": "contentTemplateId", "value": "{{contentTemplateId}}", "description": "The ID of the template to be deleted.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Deletes a template. This results in different actions depending on the\ntype of template:\n\n- If the template is a content template, it is deleted.\n- If the template is a modified space-level blueprint template, it reverts\nto the template inherited from the global-level blueprint template.\n- If the template is a modified global-level blueprint template, it reverts\nto the default global-level blueprint template.\n\n Note, unmodified blueprint templates cannot be deleted.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\n 'Admin' permission for the space to delete a space template or 'Confluence Administrator'\n global permission to delete a global template.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Themes", "description": "", "item": [ { "name": "Get themes", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/settings/theme", "query": [ { "key": "start", "value": "{{start}}", "disabled": true, "description": "The starting index of the returned themes." }, { "key": "limit", "value": "{{limit}}", "disabled": true, "description": "The maximum number of themes to return per page.\nNote, this may be restricted by fixed system limits." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns all themes, not including the default theme.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**: None", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get global theme", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/settings/theme/selected", "query": [], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the globally assigned theme.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**: None", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get theme", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/settings/theme/:themeKey", "query": [], "variable": [ { "key": "themeKey", "value": "{{themeKey}}", "description": "The key of the theme to be returned.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a theme. This includes information about the theme name,\ndescription, and icon.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**: None", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get space theme", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/space/:spaceKey/theme", "query": [], "variable": [ { "key": "spaceKey", "value": "{{spaceKey}}", "description": "The key of the space to be queried for its theme.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the theme selected for a space, if one is set. If no space\ntheme is set, this means that the space is inheriting the global look\nand feel settings.\n\n**[Permissions required](https://confluence.atlassian.com/x/_AozKw)**: ‘View’ permission for the space.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Set space theme", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/space/:spaceKey/theme", "query": [], "variable": [ { "key": "spaceKey", "value": "{{spaceKey}}", "description": "The key of the space to set the theme for.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Sets the theme for a space. Note, if you want to reset the space theme to\nthe default Confluence theme, use the 'Reset space theme' method instead\nof this method.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\n'Admin' permission for the space.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "" } }, "response": [] }, { "name": "Reset space theme", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/space/:spaceKey/theme", "query": [], "variable": [ { "key": "spaceKey", "value": "{{spaceKey}}", "description": "The key of the space to reset the theme for.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Resets the space theme. This means that the space will inherit the\nglobal look and feel settings\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\n'Admin' permission for the space.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Users", "description": "", "item": [ { "name": "Get user", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/user", "query": [ { "key": "accountId", "value": "{{accountId}}", "disabled": false, "description": "The account ID of the user. The accountId uniquely identifies the user across all Atlassian products.\nFor example, `384093:32b4d9w0-f6a5-3535-11a3-9c8c88d10192`." }, { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "A multi-value parameter indicating which properties of the user to\nexpand.\n\n - `operations` returns the operations that the user is allowed to do.\n - `personalSpace` returns the user's personal space, if it exists.\n - `isExternalCollaborator`(@deprecated) see `isGuest` in response to find out whether the user is a guest." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a user. This includes information about the user, such as the\ndisplay name, account ID, profile picture, and more. The information returned may be\nrestricted by the user's profile visibility settings.\n\n**Note:** to add, edit, or delete users in your organization, see the\n[user management REST API](/cloud/admin/user-management/about/).\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\nPermission to access the Confluence site ('Can use' global permission).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get anonymous user", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/user/anonymous", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "A multi-value parameter indicating which properties of the user to\nexpand.\n\n - `operations` returns the operations that the user is allowed to do." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns information about how anonymous users are represented, like the\nprofile picture and display name.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\nPermission to access the Confluence site ('Can use' global permission).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get current user", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/user/current", "query": [ { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "A multi-value parameter indicating which properties of the user to\nexpand.\n\n - `operations` returns the operations that the user is allowed to do.\n - `personalSpace` returns the user's personal space, if it exists.\n - `isExternalCollaborator`(@deprecated) see `isGuest` in response to find out whether the user is a guest." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the currently logged-in user. This includes information about\nthe user, like the display name, userKey, account ID, profile picture,\nand more.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\nPermission to access the Confluence site ('Can use' global permission).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get group memberships for user", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/user/memberof", "query": [ { "key": "accountId", "value": "{{accountId}}", "disabled": false, "description": "The account ID of the user. The accountId uniquely identifies the user across all Atlassian products.\nFor example, `384093:32b4d9w0-f6a5-3535-11a3-9c8c88d10192`." }, { "key": "start", "value": "{{start}}", "disabled": true, "description": "The starting index of the returned groups." }, { "key": "limit", "value": "{{limit}}", "disabled": true, "description": "The maximum number of groups to return per page.\nNote, this may be restricted by fixed system limits." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the groups that a user is a member of.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\nPermission to access the Confluence site ('Can use' global permission).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get multiple users using ids", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/user/bulk", "query": [ { "key": "accountId", "value": "{{accountId}}", "disabled": false, "description": "A list of accountId's of users to be returned." }, { "key": "expand", "value": "{{expand}}", "disabled": true, "description": "A multi-value parameter indicating which properties of the user to\nexpand.\n\n - `operations` returns the operations that the user is allowed to do.\n - `personalSpace` returns the user's personal space, if it exists.\n - `isExternalCollaborator`(@deprecated) use `isGuest` instead to return whether the user is a guest." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns user details for the ids provided in the request.\nCurrently this API returns a maximum of 100 results.\nIf more than 100 account ids are passed in, then the first 100 will be returned.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\nPermission to access the Confluence site ('Can use' global permission).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get user email address", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/user/email", "query": [ { "key": "accountId", "value": "{{accountId}}", "disabled": false, "description": "The account ID of the user, which uniquely identifies the user across all Atlassian products.\nFor example, `384093:32b4d9w0-f6a5-3535-11a3-9c8c88d10192`. Required." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a user's email address regardless of the user’s profile visibility settings. For Connect apps, this API is only available to apps approved by\nAtlassian, according to these [guidelines](https://community.developer.atlassian.com/t/guidelines-for-requesting-access-to-email-address/27603).\nFor Forge apps, this API only supports access via asApp() requests.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\nPermission to access the Confluence site ('Can use' global permission)." }, "response": [] }, { "name": "Get user email addresses in batch", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/user/email/bulk", "query": [ { "key": "accountId", "value": "{{accountId}}", "disabled": false, "description": "The account IDs of the users." } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a user's email address regardless of the user’s profile visibility settings. For Connect apps, this API is only available to apps approved by\nAtlassian, according to these [guidelines](https://community.developer.atlassian.com/t/guidelines-for-requesting-access-to-email-address/27603).\nFor Forge apps, this API only supports access via asApp() requests.\n\nAny accounts which are not available will not be included in the result.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\nPermission to access the Confluence site ('Can use' global permission)." }, "response": [] } ] }, { "name": "User properties", "description": "", "item": [ { "name": "Get user properties", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/user/:userId/property", "query": [ { "key": "start", "value": "{{start}}", "disabled": true, "description": "The starting index of the returned properties." }, { "key": "limit", "value": "{{limit}}", "disabled": true, "description": "The maximum number of properties to return per page.\nNote, this may be restricted by fixed system limits." } ], "variable": [ { "key": "userId", "value": "{{userId}}", "description": "The account ID of the user to be queried for its properties.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the properties for a user as list of property keys. For more information\nabout user properties, see [Confluence entity properties](https://developer.atlassian.com/cloud/confluence/confluence-entity-properties/).\n`Note`, these properties stored against a user are on a Confluence site level and not space/content level.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\nPermission to access the Confluence site ('Can use' global permission).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get user property", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/user/:userId/property/:key", "query": [], "variable": [ { "key": "userId", "value": "{{userId}}", "description": "The account ID of the user to be queried for its properties.", "disabled": false }, { "key": "key", "value": "{{key}}", "description": "The key of the user property.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the property corresponding to `key` for a user. For more information\nabout user properties, see [Confluence entity properties](https://developer.atlassian.com/cloud/confluence/confluence-entity-properties/).\n`Note`, these properties stored against a user are on a Confluence site level and not space/content level.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\nPermission to access the Confluence site ('Can use' global permission).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Update user property", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/user/:userId/property/:key", "query": [], "variable": [ { "key": "userId", "value": "{{userId}}", "description": "The account ID of the user. The accountId uniquely identifies the user across all Atlassian\nproducts. For example, 384093:32b4d9w0-f6a5-3535-11a3-9c8c88d10192", "disabled": false }, { "key": "key", "value": "{{key}}", "description": "The key of the user property.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Updates a property for the given user. Note, you cannot update the key of a user property, only the value.\nFor more information about user properties, see\n[Confluence entity properties](https://developer.atlassian.com/cloud/confluence/confluence-entity-properties/).\n`Note`, these properties stored against a user are on a Confluence site level and not space/content level.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\nPermission to access the Confluence site ('Can use' global permission).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "" } }, "response": [] }, { "name": "Create user property by key", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/user/:userId/property/:key", "query": [], "variable": [ { "key": "userId", "value": "{{userId}}", "description": "The account ID of the user. The accountId uniquely identifies the user across all Atlassian\nproducts. For example, 384093:32b4d9w0-f6a5-3535-11a3-9c8c88d10192", "disabled": false }, { "key": "key", "value": "{{key}}", "description": "The key of the user property.", "disabled": false } ] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Creates a property for a user. For more information about user properties, see [Confluence entity properties]\n(https://developer.atlassian.com/cloud/confluence/confluence-entity-properties/).\n`Note`, these properties stored against a user are on a Confluence site level and not space/content level.\n\n`Note:` the number of properties which could be created per app in a tenant for each user might be\nrestricted by fixed system limits.\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\nPermission to access the Confluence site ('Can use' global permission).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "" } }, "response": [] }, { "name": "Delete user property", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}wiki/rest/api/user/:userId/property/:key", "query": [], "variable": [ { "key": "userId", "value": "{{userId}}", "description": "The account ID of the user. The accountId uniquely identifies the user across all Atlassian\nproducts. For example, 384093:32b4d9w0-f6a5-3535-11a3-9c8c88d10192", "disabled": false }, { "key": "key", "value": "{{key}}", "description": "The key of the user property.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Deletes a property for the given user.\nFor more information about user properties, see\n[Confluence entity properties](https://developer.atlassian.com/cloud/confluence/confluence-entity-properties/).\n`Note`, these properties stored against a user are on a Confluence site level and not space/content level.\n\n**[Permissions](https://confluence.atlassian.com/x/_AozKw) required**:\nPermission to access the Confluence site ('Can use' global permission).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] } ], "variable": [ { "key": "protocol", "name": "Protocol", "description": "The HTTP Protocol that should be used for this REST API.", "type": "string", "value": "https" }, { "key": "host", "name": "Host", "description": "The HTTP host that should be used for this REST API.", "type": "string", "value": "your-domain.atlassian.net" }, { "key": "basePath", "name": "Base Path", "description": "The path, after the host, of the base of the REST API.", "type": "string", "value": "" } ] }