Returns all custom content for a given type within a given blogpost. The number of results is limited by the limit
parameter and additional results (if available)
will be available through the next
URL present in the Link
response header.
Permissions required: Permission to view the custom content, the container of the custom content (blog post), and the corresponding space.
read:custom-content:confluence
Connect app scope required: READ
integer
Requiredstring
RequiredCustomContentSortOrder
string
integer
CustomContentBodyRepresentation
Returned if the requested custom content is returned.
string
1
2
3
4
5
6
7
8
9
10
11
12
// This sample uses Atlassian Forge
// https://developer.atlassian.com/platform/forge/
import api, { route } from "@forge/api";
const response = await api.asUser().requestConfluence(route`/wiki/api/v2/blogposts/{id}/custom-content?type={type}`, {
headers: {
'Accept': 'application/json'
}
});
console.log(`Response: ${response.status} ${response.statusText}`);
console.log(await response.json());
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
{
"results": [
{
"id": "<string>",
"type": "<string>",
"status": "current",
"title": "<string>",
"spaceId": "<string>",
"pageId": "<string>",
"blogPostId": "<string>",
"customContentId": "<string>",
"authorId": "<string>",
"createdAt": "<string>",
"version": {
"createdAt": "<string>",
"message": "<string>",
"number": 19,
"minorEdit": true,
"authorId": "<string>"
},
"body": {
"raw": {},
"storage": {},
"atlas_doc_format": {}
},
"_links": {
"webui": "<string>"
}
}
],
"_links": {
"next": "<string>",
"base": "<string>"
}
}
Returns all custom content for a given type. The number of results is limited by the limit
parameter and additional results (if available)
will be available through the next
URL present in the Link
response header.
Permissions required: Permission to view the custom content, the container of the custom content, and the corresponding space (if different from the container).
read:custom-content:confluence
Connect app scope required: READ
string
Requiredarray<integer>
array<integer>
CustomContentSortOrder
string
integer
CustomContentBodyRepresentation
Returned if the requested custom content is returned.
string
1
2
3
4
5
6
7
8
9
10
11
12
// This sample uses Atlassian Forge
// https://developer.atlassian.com/platform/forge/
import api, { route } from "@forge/api";
const response = await api.asUser().requestConfluence(route`/wiki/api/v2/custom-content?type={type}`, {
headers: {
'Accept': 'application/json'
}
});
console.log(`Response: ${response.status} ${response.statusText}`);
console.log(await response.json());
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
{
"results": [
{
"id": "<string>",
"type": "<string>",
"status": "current",
"title": "<string>",
"spaceId": "<string>",
"pageId": "<string>",
"blogPostId": "<string>",
"customContentId": "<string>",
"authorId": "<string>",
"createdAt": "<string>",
"version": {
"createdAt": "<string>",
"message": "<string>",
"number": 19,
"minorEdit": true,
"authorId": "<string>"
},
"body": {
"raw": {},
"storage": {},
"atlas_doc_format": {}
},
"_links": {
"webui": "<string>"
}
}
],
"_links": {
"next": "<string>",
"base": "<string>"
}
}
Creates a new custom content in the given space, page, blogpost or other custom content.
Only one of spaceId
, pageId
, blogPostId
, or customContentId
is required in the request body.
Permissions required:
Permission to view the content of the page or blogpost and its corresponding space. Permission to create custom content in the space.
write:custom-content:confluence
Connect app scope required: WRITE
string
Requiredstring
string
string
string
string
string
RequiredoneOf [CustomContentBodyWrite, CustomContentNestedBodyWrite]
RequiredReturned if the requested custom content is created successfully.
string
allOf [CustomContentSingle, object]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// This sample uses Atlassian Forge
// https://developer.atlassian.com/platform/forge/
import api, { route } from "@forge/api";
var bodyData = `{
"type": "<string>",
"status": "current",
"spaceId": "<string>",
"pageId": "<string>",
"blogPostId": "<string>",
"customContentId": "<string>",
"title": "<string>",
"body": {
"representation": "storage",
"value": "<string>"
}
}`;
const response = await api.asUser().requestConfluence(route`/wiki/api/v2/custom-content`, {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
body: bodyData
});
console.log(`Response: ${response.status} ${response.statusText}`);
console.log(await response.json());
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
{
"id": "<string>",
"type": "<string>",
"status": "current",
"title": "<string>",
"spaceId": "<string>",
"pageId": "<string>",
"blogPostId": "<string>",
"customContentId": "<string>",
"authorId": "<string>",
"createdAt": "<string>",
"version": {
"createdAt": "<string>",
"message": "<string>",
"number": 19,
"minorEdit": true,
"authorId": "<string>"
},
"labels": {
"results": [
{
"id": "<string>",
"name": "<string>",
"prefix": "<string>"
}
],
"meta": {
"hasMore": true,
"cursor": "<string>"
},
"_links": {
"self": "<string>"
}
},
"properties": {
"results": [
{
"id": "<string>",
"key": "<string>",
"version": {}
}
],
"meta": {
"hasMore": true,
"cursor": "<string>"
},
"_links": {
"self": "<string>"
}
},
"operations": {
"results": [
{
"operation": "<string>",
"targetType": "<string>"
}
],
"meta": {
"hasMore": true,
"cursor": "<string>"
},
"_links": {
"self": "<string>"
}
},
"versions": {
"results": [
{
"createdAt": "<string>",
"message": "<string>",
"number": 19,
"minorEdit": true,
"authorId": "<string>"
}
],
"meta": {
"hasMore": true,
"cursor": "<string>"
},
"_links": {
"self": "<string>"
}
},
"body": {
"raw": {},
"storage": {},
"atlas_doc_format": {},
"view": {}
},
"_links": {
"base": "<string>"
}
}
Returns a specific piece of custom content.
Permissions required: Permission to view the custom content, the container of the custom content, and the corresponding space (if different from the container).
read:custom-content:confluence
Connect app scope required: READ
integer
RequiredCustomContentBodyRepresentationSingle
integer
boolean
boolean
boolean
boolean
boolean
boolean
Returned if the requested custom content is returned.
allOf [CustomContentSingle, object]
1
2
3
4
5
6
7
8
9
10
11
12
// This sample uses Atlassian Forge
// https://developer.atlassian.com/platform/forge/
import api, { route } from "@forge/api";
const response = await api.asUser().requestConfluence(route`/wiki/api/v2/custom-content/{id}`, {
headers: {
'Accept': 'application/json'
}
});
console.log(`Response: ${response.status} ${response.statusText}`);
console.log(await response.json());
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
{
"id": "<string>",
"type": "<string>",
"status": "current",
"title": "<string>",
"spaceId": "<string>",
"pageId": "<string>",
"blogPostId": "<string>",
"customContentId": "<string>",
"authorId": "<string>",
"createdAt": "<string>",
"version": {
"createdAt": "<string>",
"message": "<string>",
"number": 19,
"minorEdit": true,
"authorId": "<string>"
},
"labels": {
"results": [
{
"id": "<string>",
"name": "<string>",
"prefix": "<string>"
}
],
"meta": {
"hasMore": true,
"cursor": "<string>"
},
"_links": {
"self": "<string>"
}
},
"properties": {
"results": [
{
"id": "<string>",
"key": "<string>",
"version": {}
}
],
"meta": {
"hasMore": true,
"cursor": "<string>"
},
"_links": {
"self": "<string>"
}
},
"operations": {
"results": [
{
"operation": "<string>",
"targetType": "<string>"
}
],
"meta": {
"hasMore": true,
"cursor": "<string>"
},
"_links": {
"self": "<string>"
}
},
"versions": {
"results": [
{
"createdAt": "<string>",
"message": "<string>",
"number": 19,
"minorEdit": true,
"authorId": "<string>"
}
],
"meta": {
"hasMore": true,
"cursor": "<string>"
},
"_links": {
"self": "<string>"
}
},
"body": {
"raw": {},
"storage": {},
"atlas_doc_format": {},
"view": {}
},
"_links": {
"base": "<string>"
}
}
Update a custom content by id.
Permissions required: Permission to view the content of the page or blogpost and its corresponding space. Permission to update custom content in the space.
write:custom-content:confluence
Connect app scope required: WRITE
integer
Requiredstring
Requiredstring
Requiredstring
Requiredstring
RequiredoneOf [CustomContentBodyWrite, CustomContentNestedBodyWrite]
Requiredobject
RequiredReturned if the requested custom content is updated successfully.
string
allOf [CustomContentSingle, object]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
// This sample uses Atlassian Forge
// https://developer.atlassian.com/platform/forge/
import api, { route } from "@forge/api";
var bodyData = `{
"id": "<string>",
"type": "<string>",
"status": "current",
"title": "<string>",
"body": {
"representation": "storage",
"value": "<string>"
},
"version": {
"number": 47,
"message": "<string>"
}
}`;
const response = await api.asUser().requestConfluence(route`/wiki/api/v2/custom-content/{id}`, {
method: 'PUT',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
body: bodyData
});
console.log(`Response: ${response.status} ${response.statusText}`);
console.log(await response.json());
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
{
"id": "<string>",
"type": "<string>",
"status": "current",
"title": "<string>",
"spaceId": "<string>",
"pageId": "<string>",
"blogPostId": "<string>",
"customContentId": "<string>",
"authorId": "<string>",
"createdAt": "<string>",
"version": {
"createdAt": "<string>",
"message": "<string>",
"number": 19,
"minorEdit": true,
"authorId": "<string>"
},
"labels": {
"results": [
{
"id": "<string>",
"name": "<string>",
"prefix": "<string>"
}
],
"meta": {
"hasMore": true,
"cursor": "<string>"
},
"_links": {
"self": "<string>"
}
},
"properties": {
"results": [
{
"id": "<string>",
"key": "<string>",
"version": {}
}
],
"meta": {
"hasMore": true,
"cursor": "<string>"
},
"_links": {
"self": "<string>"
}
},
"operations": {
"results": [
{
"operation": "<string>",
"targetType": "<string>"
}
],
"meta": {
"hasMore": true,
"cursor": "<string>"
},
"_links": {
"self": "<string>"
}
},
"versions": {
"results": [
{
"createdAt": "<string>",
"message": "<string>",
"number": 19,
"minorEdit": true,
"authorId": "<string>"
}
],
"meta": {
"hasMore": true,
"cursor": "<string>"
},
"_links": {
"self": "<string>"
}
},
"body": {
"raw": {},
"storage": {},
"atlas_doc_format": {},
"view": {}
},
"_links": {
"base": "<string>"
}
}
Delete a custom content by id.
Deleting a custom content will either move it to the trash or permanently delete it (purge it), depending on the apiSupport.
To permanently delete a trashed custom content, the endpoint must be called with the following param purge=true
.
Permissions required: Permission to view the content of the page or blogpost and its corresponding space. Permission to delete custom content in the space. Permission to administer the space (if attempting to purge).
delete:custom-content:confluence
Connect app scope required: DELETE
integer
Requiredboolean
Returned if the custom content was deleted.
1
2
3
4
5
6
7
8
9
10
// This sample uses Atlassian Forge
// https://developer.atlassian.com/platform/forge/
import api, { route } from "@forge/api";
const response = await api.asUser().requestConfluence(route`/wiki/api/v2/custom-content/{id}`, {
method: 'DELETE'
});
console.log(`Response: ${response.status} ${response.statusText}`);
console.log(await response.text());
Returns all custom content for a given type within a given page. The number of results is limited by the limit
parameter and additional results (if available)
will be available through the next
URL present in the Link
response header.
Permissions required: Permission to view the custom content, the container of the custom content (page), and the corresponding space.
read:custom-content:confluence
Connect app scope required: READ
integer
Requiredstring
RequiredCustomContentSortOrder
string
integer
CustomContentBodyRepresentation
Returned if the requested custom content is returned.
string
1
2
3
4
5
6
7
8
9
10
11
12
// This sample uses Atlassian Forge
// https://developer.atlassian.com/platform/forge/
import api, { route } from "@forge/api";
const response = await api.asUser().requestConfluence(route`/wiki/api/v2/pages/{id}/custom-content?type={type}`, {
headers: {
'Accept': 'application/json'
}
});
console.log(`Response: ${response.status} ${response.statusText}`);
console.log(await response.json());
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
{
"results": [
{
"id": "<string>",
"type": "<string>",
"status": "current",
"title": "<string>",
"spaceId": "<string>",
"pageId": "<string>",
"blogPostId": "<string>",
"customContentId": "<string>",
"authorId": "<string>",
"createdAt": "<string>",
"version": {
"createdAt": "<string>",
"message": "<string>",
"number": 19,
"minorEdit": true,
"authorId": "<string>"
},
"body": {
"raw": {},
"storage": {},
"atlas_doc_format": {}
},
"_links": {
"webui": "<string>"
}
}
],
"_links": {
"next": "<string>",
"base": "<string>"
}
}
Returns all custom content for a given type within a given space. The number of results is limited by the limit
parameter and additional results (if available)
will be available through the next
URL present in the Link
response header.
Permissions required: Permission to view the custom content and the corresponding space.
read:custom-content:confluence
Connect app scope required: READ
integer
Requiredstring
Requiredstring
integer
CustomContentBodyRepresentation
Returned if the requested custom content is returned.
string
1
2
3
4
5
6
7
8
9
10
11
12
// This sample uses Atlassian Forge
// https://developer.atlassian.com/platform/forge/
import api, { route } from "@forge/api";
const response = await api.asUser().requestConfluence(route`/wiki/api/v2/spaces/{id}/custom-content?type={type}`, {
headers: {
'Accept': 'application/json'
}
});
console.log(`Response: ${response.status} ${response.statusText}`);
console.log(await response.json());
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
{
"results": [
{
"id": "<string>",
"type": "<string>",
"status": "current",
"title": "<string>",
"spaceId": "<string>",
"pageId": "<string>",
"blogPostId": "<string>",
"customContentId": "<string>",
"authorId": "<string>",
"createdAt": "<string>",
"version": {
"createdAt": "<string>",
"message": "<string>",
"number": 19,
"minorEdit": true,
"authorId": "<string>"
},
"body": {
"raw": {},
"storage": {},
"atlas_doc_format": {}
},
"_links": {
"webui": "<string>"
}
}
],
"_links": {
"next": "<string>",
"base": "<string>"
}
}
Rate this page: