About

The Marketplace API is a RESTful API that allows you to manage apps and your vendor account.

Unsure about the types exposed in this API? Read more about our terminology.

Versioning

Version 2 is the latest release of the Marketplace API. Scroll down to view the latest API documentation for this version.

Authentication

The Marketplace API uses HTTP basic authentication and your Atlassian account. Once authenticated, you can view and modify most properties of your apps and your account. If you are not logged in, you are considered an unauthenticated user and will not be able to edit apps or vendor information.

URI structure

All Uniform Resource Identifiers (URIs) start with the following prefix:

1
https://marketplace.atlassian.com/rest/2

When a resource provides a link to another resource, the link URI will not include the hostname (for instance, the link will be /rest/2/addons rather than https://marketplace.atlassian.com/rest/2/addons).

URIs referring to content that is not provided by Atlassian Marketplace are always absolute (that is, they use http:// or https://) and are encoded as ordinary string properties.

Request format

All request and response representations are in JSON and use the content type application/json with the UTF-8 character set, except for PATCH requests.

The Marketplace API uses standard HTTP methods. Successful POST, PUT, and PATCH requests return a Location header in addition to the HTTP status codes documented below. Successful DELETE requests return only the status code. See the Errors section for information about responses that return an error.

MethodDescriptionSuccessful response
GETAll GET requests are idempotent.200
POSTCreates a new entity.201
PUTModifies all editable properties of existing entity. It cannot be applied to a collection resource.204
PATCHModifies only selected properties of an existing entity. It cannot be applied to a collection resource. Request bodies use the JSON Patch document structure with the content type application/json-patch+json.204
DELETERemoves an entity. It cannot be applied to a collection resource and accepts no request body.204

Pagination

The Marketplace API uses pagination to limit response size for resources that may return large numbers of results. HTTP clients may specify a smaller page size of N by adding the query parameter limit=N. A client may also specify a starting offset for a paginated resource by adding the query parameter offset=N, meaning that the first N items are skipped. Non-paginated resources ignore the limit and offset parameters:

  • offset (optional) - Specifies the number of items to skip. The default value is 0.
  • limit (optional) - Specifies the maximum page size, between 0 and 50, with a default value of 10. Setting limit=0 returns only the overall properties of a collection resource, such as the total number of available items, without getting the properties of any individual item.

If the limit argument fails to validate, the API may respond with an error like the example below:

1
2
3
4
5
6
7
{
    errors: [
        {
            message: "limit: Must be an integer"
        }
    ]
}

Response format

All resources containing links to Atlassian Marketplace resources and web pages use the HAL specification with JSON (with some extensions as described below under POST and PUT, for cases that HAL does not cover). Such links will always be within a top-level _links or _embedded object. External links provided by third parties are considered simple data properties and can appear anywhere in a representation.

All resource links should:

  • be relative to the host root, for example, /rest/2/addons.
  • have a self link referring to themselves.

Links to the Marketplace website may be absolute or relative URIs. External links must always be absolute URIs.

When available, paginated responses provide the next and prev links to retrieve the next or previous page of items:

  • next Retrieves the next page of items.
  • prev Retrieves the previous page of items.

Dates

All dates referenced by the API are in Coordinated Universal Time (UTC).

Errors

The following response status codes may be accompanied by an error representation.

StatusDescription
400Request body is malformed or has an illegal property value.
401Authentication is required.
403User was authenticated but is not authorized for this operation.
404Resource does not exist or is not visible to this user.
409Resource cannot be created or modified due to some state constraint.
500Unexpected internal error in the Atlassian Marketplace.
502Unexpected error in an external service.

Error responses may contain a JSON representation with a single top-level property, errors, that contains an array of objects (each with a message) and optional path and code properties. The path uses JSON Pointer format to refer to an invalid field in the request representation. If path is not present, the message describes a general condition that isn't tied to a specific field. If present, the code is a string that uniquely identifies the type of error. An example appears below:

1
2
3
4
5
6
{
    "errors": [
        { "message": "There is a general problem." },
        { "path": "/name", "message": "cannot be longer than 5000 characters" }
    ]
}

App versions

Information about app versions

Get app versions

GET /rest/2/addons/{addonKey}/versions

Get a list of versions for the specified app.

Request

Path parameters
addonKey Required

string

The unique identifier for this app, for example "com.atlassian.confluence.plugins.confluence-questions"

Query parameters
afterVersion

string

Selects only app versions newer than the version with the specified display name

application

string

Only returns apps compatible with this application

applicationBuild

integer

Only returns apps compatible with the specified application build number

Format: int64
cost

string

Only returns apps with the specified payment model

Valid values: free, marketplace, orderable, paid

hosting

string

Only returns apps with the specified hosting model

Valid values: any, cloud, datacenter, server

includePrivate

boolean

Includes private apps or versions if you are authorized to see them

offset

integer

If specified, skips ahead by this number of items

Format: int32
limit

integer

If specified, limits the result set to this number of items

Format: int32

Example

1
2
3
curl --request GET \
  --url 'https://marketplace.atlassian.com/rest/2/addons/{addonKey}/versions' \
  --header 'Accept: application/json'

Responses

Content typeValue
application/json

AddonVersionCollection

Create app version

POST /rest/2/addons/{addonKey}/versions

Create a new version for the specified app. This resource requires authentication.

Request

Path parameters
addonKey Required

string

The unique identifier for this app, for example "com.atlassian.confluence.plugins.confluence-questions"

Body parameters
_links Required

AddonVersionLinks

_embedded

AddonVersionEmbedded

buildNumber

integer

The unique internal identifier and sort key for this version; omit this if you are creating an Atlassian Connect version

Format: int64
name

string

The display name of the version, for example "1.0.0"

status Required

string

Indicates whether the version is public, private, or pending approval

Valid values: private, public, rejected, submitted

paymentModel

string

The payment model; you may omit this when creating a version and Marketplace will infer it, unless it is paid via vendor

Valid values: atlassian, free, vendor

release

AddonVersionReleaseProperties

youtubeId

string

YouTube video identifier if the version's hero image is a video

vendorLinks

AddonVersionExternalLinks

compatibilities

Array<Compatibility>

Describes the application(s), version ranges, and hosting models the app version is compatible with; you may omit this when creating a version and Marketplace will use the previous version's compatibilities

text

AddonVersionText

integrationType

string

Integration type if the app is a Hipchat integration

Valid values: global, informational, room

legacy

AddonVersionLegacyProperties

deployment

AddonVersionDeployment

Example

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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
curl --request POST \
  --url 'https://marketplace.atlassian.com/rest/2/addons/{addonKey}/versions' \
  --user 'email@example.com:<api_token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "_links": {
    "self": {
      "href": "<string>",
      "type": "<string>",
      "title": "<string>"
    },
    "alternate": {
      "href": "<string>",
      "type": "<string>",
      "title": "<string>"
    },
    "agreement": {
      "href": "<string>",
      "type": "<string>",
      "title": "<string>"
    },
    "artifact": {
      "href": "<string>",
      "type": "<string>",
      "title": "<string>"
    },
    "edit": {
      "href": "<string>",
      "type": "<string>",
      "title": "<string>"
    },
    "approval": {
      "href": "<string>",
      "type": "<string>",
      "title": "<string>"
    },
    "transition": {
      "href": "<string>",
      "type": "<string>",
      "title": "<string>"
    },
    "hero": {
      "href": "<string>",
      "type": "<string>",
      "title": "<string>"
    },
    "license": {
      "href": "<string>",
      "type": "<string>",
      "title": "<string>"
    }
  },
  "_embedded": {
    "artifact": {
      "_links": {
        "self": {
          "href": "<string>"
        },
        "binary": {
          "href": "<string>"
        }
      }
    },
    "hero": {
      "_links": {
        "self": {
          "href": "<string>"
        },
        "image": {
          "href": "<string>"
        },
        "unscaled": {
          "href": "<string>"
        }
      }
    },
    "highlights": [
      {
        "_links": {
          "screenshot": {
            "href": "<string>"
          },
          "thumbnail": {
            "href": "<string>"
          }
        },
        "_embedded": {
          "screenshot": {
            "_links": {
              "self": {
                "href": "<string>"
              },
              "image": {
                "href": "<string>"
              },
              "unscaled": {
                "href": "<string>"
              }
            }
          },
          "thumbnail": {
            "_links": {
              "self": {
                "href": "<string>"
              },
              "image": {
                "href": "<string>"
              },
              "unscaled": {
                "href": "<string>"
              }
            }
          }
        },
        "title": "<string>",
        "body": "<string>",
        "explanation": "<string>"
      }
    ],
    "screenshots": [
      {
        "_links": {
          "image": {
            "href": "<string>"
          }
        },
        "_embedded": {
          "image": {
            "_links": {
              "self": {
                "href": "<string>"
              },
              "image": {
                "href": "<string>"
              },
              "unscaled": {
                "href": "<string>"
              }
            }
          }
        },
        "caption": "<string>"
      }
    ],
    "instructions": [
      {
        "_links": {},
        "_embedded": {},
        "body": "<string>"
      }
    ],
    "license": {
      "_links": {
        "self": {
          "href": "<string>"
        }
      },
      "key": "<string>",
      "name": "<string>"
    }
  },
  "buildNumber": 120,
  "name": "<string>",
  "status": "private",
  "paymentModel": "atlassian",
  "release": {
    "date": "<string>",
    "releasedBy": "<string>",
    "beta": true,
    "supported": true
  },
  "youtubeId": "<string>",
  "vendorLinks": {
    "binary": "<string>",
    "documentation": "<string>",
    "license": "<string>",
    "learnMore": "<string>",
    "eula": "<string>",
    "purchase": "<string>",
    "releaseNotes": "<string>"
  },
  "compatibilities": [
    {
      "application": "<string>",
      "hosting": {
        "cloud": true,
        "server": {
          "min": {
            "build": 117
          },
          "max": {
            "build": 117
          }
        },
        "dataCenter": {
          "min": {
            "build": 117
          },
          "max": {
            "build": 117
          }
        }
      }
    }
  ],
  "text": {
    "releaseSummary": "<string>",
    "moreDetails": "<string>",
    "releaseNotes": "<string>"
  },
  "integrationType": "global",
  "legacy": {
    "vendorLinks": {
      "releaseNotes": "<string>",
      "javadocs": "<string>",
      "source": "<string>",
      "evaluationLicense": "<string>",
      "donate": "<string>"
    }
  },
  "deployment": {}
}'

Responses

Successfully created

A schema has not been defined for this response code.

Get app version (by number)

GET /rest/2/addons/{addonKey}/versions/build/{pluginBuildNumber}

Get the latest version of the specified app.

Request

Path parameters
addonKey Required

string

The unique identifier for this app, for example "com.atlassian.confluence.plugins.confluence-questions"

pluginBuildNumber Required

integer

The unique internal identifier and sort key for this version

Format: int64

Example

1
2
3
curl --request GET \
  --url 'https://marketplace.atlassian.com/rest/2/addons/{addonKey}/versions/build/{pluginBuildNumber}' \
  --header 'Accept: application/json'

Responses

Content typeValue
application/json

AddonVersion

Update app version

PATCH /rest/2/addons/{addonKey}/versions/build/{pluginBuildNumber}

Update a specific version for the specified app.

The request body must be a valid JSON Patch document. The properties which can be referenced in the PATCH are the same ones returned by a GET on this URI.

This resource requires authentication.

Request

Path parameters
addonKey Required

string

The unique identifier for this app, for example "com.atlassian.confluence.plugins.confluence-questions"

pluginBuildNumber Required

integer

The unique internal identifier and sort key for this version

Format: int64
Body parameters
Content typeValue
application/json-patch+json

Array<JsonPatchDocumentation>

Example

1
2
3
curl --request PATCH \
  --url 'https://marketplace.atlassian.com/rest/2/addons/{addonKey}/versions/build/{pluginBuildNumber}' \
  --user 'email@example.com:<api_token>'

Responses

Successfully modified

Get app version approval

GET /rest/2/addons/{addonKey}/versions/build/{pluginBuildNumber}/approval

Get a specific app version approval status. This resource requires authentication.

Request

Path parameters
addonKey Required

string

The unique identifier for this app, for example "com.atlassian.confluence.plugins.confluence-questions"

pluginBuildNumber Required

integer

The unique internal identifier and sort key for this version

Format: int64

Example

1
2
3
4
curl --request GET \
  --url 'https://marketplace.atlassian.com/rest/2/addons/{addonKey}/versions/build/{pluginBuildNumber}/approval' \
  --user 'email@example.com:<api_token>' \
  --header 'Accept: application/json'

Responses

Content typeValue
application/json

ApprovalStatus

Update app version approval

PUT /rest/2/addons/{addonKey}/versions/build/{pluginBuildNumber}/approval

Approve, reject or resubmit an app version for approval.

Vendors can use this resource to resubmit a previously rejected app version for approval. This is done by setting the status field to pending.

Administrators can use this resource to approve or reject an app version that is submitted for approval.

This resource requires authentication.

Request

Path parameters
addonKey Required

string

The unique identifier for this app, for example "com.atlassian.confluence.plugins.confluence-questions"

pluginBuildNumber Required

integer

The unique internal identifier and sort key for this version

Format: int64
Body parameters
_links

ApprovalStatusLinks

status Required

string

Indicates the status of the approval

Valid values: approved, pending, rejected

reason

string

The reason why the app or app version was rejected

Format: html

Example

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
curl --request PUT \
  --url 'https://marketplace.atlassian.com/rest/2/addons/{addonKey}/versions/build/{pluginBuildNumber}/approval' \
  --user 'email@example.com:<api_token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "_links": {
    "self": {
      "href": "<string>",
      "type": "<string>",
      "title": "<string>"
    },
    "parent": {
      "href": "<string>",
      "type": "<string>",
      "title": "<string>"
    },
    "issuePortal": {
      "href": "<string>",
      "type": "<string>",
      "title": "<string>"
    }
  },
  "status": "approved",
  "reason": "<string>"
}'

Responses

Success

Get app version (latest)

GET /rest/2/addons/{addonKey}/versions/latest

Get the latest version of the specified app.

Request

Path parameters
addonKey Required

string

The unique identifier for this app, for example "com.atlassian.confluence.plugins.confluence-questions"

Query parameters
afterVersion

string

Selects only app versions newer than the version with the specified display name

application

string

Only returns apps compatible with this application

applicationBuild

integer

Only returns apps compatible with the specified application build number

Format: int64
cost

string

Only returns apps with the specified payment model

Valid values: free, marketplace, orderable, paid

hosting

string

Only returns apps with the specified hosting model

Valid values: any, cloud, datacenter, server

includePrivate

boolean

Includes private apps or versions if you are authorized to see them

Example

1
2
3
curl --request GET \
  --url 'https://marketplace.atlassian.com/rest/2/addons/{addonKey}/versions/latest' \
  --header 'Accept: application/json'

Responses

Content typeValue
application/json

AddonVersion

Get app version (by name)

GET /rest/2/addons/{addonKey}/versions/name/{name}

Get details about a specific version, matching the specified name, of the specified app.

Request

Path parameters
addonKey Required

string

The unique identifier for this app, for example "com.atlassian.confluence.plugins.confluence-questions"

name Required

string

The display name of the version, for example "1.0.0"

Query parameters
hosting

string

Only returns apps with the specified hosting model

Valid values: any, cloud, datacenter, server

Example

1
2
3
curl --request GET \
  --url 'https://marketplace.atlassian.com/rest/2/addons/{addonKey}/versions/name/{name}' \
  --header 'Accept: application/json'

Responses

Content typeValue
application/json

AddonVersion

Applications

Information about applications

Get applications

GET /rest/2/applications

Get a list of applications.

Request

Query parameters
offset

integer

If specified, skips ahead by this number of items

Format: int32
limit

integer

If specified, limits the result set to this number of items

Format: int32

Example

1
2
3
curl --request GET \
  --url 'https://marketplace.atlassian.com/rest/2/applications' \
  --header 'Accept: application/json'

Responses

Content typeValue
application/json

ApplicationCollection

Get application

GET /rest/2/applications/{applicationKey}

Get a specific application.

Request

Path parameters
applicationKey Required

string

The unique identifier for this application, for example "jira"

Example

1
2
3
curl --request GET \
  --url 'https://marketplace.atlassian.com/rest/2/applications/{applicationKey}' \
  --header 'Accept: application/json'

Responses

Content typeValue
application/json

Application

Get application versions

GET /rest/2/applications/{applicationKey}/versions

Get a list of versions for the specified application.

Request

Path parameters
applicationKey Required

string

The unique identifier for this application, for example "jira"

Query parameters
afterBuildNumber

integer

Selects only application versions whose build number is greater than this

Format: int64
offset

integer

If specified, skips ahead by this number of items

Format: int32
limit

integer

If specified, limits the result set to this number of items

Format: int32

Example

1
2
3
curl --request GET \
  --url 'https://marketplace.atlassian.com/rest/2/applications/{applicationKey}/versions' \
  --header 'Accept: application/json'

Responses

Content typeValue
application/json

ApplicationVersionCollection

Get application version (by number)

GET /rest/2/applications/{applicationKey}/versions/build/{applicationBuildNumber}

Get details about a specific version, matching the specified build number, of the specified application.

Request

Path parameters
applicationKey Required

string

The unique identifier for this application, for example "jira"

applicationBuildNumber Required

integer

The unique integer identifier for the application version

Format: int64

Example

1
2
3
curl --request GET \
  --url 'https://marketplace.atlassian.com/rest/2/applications/{applicationKey}/versions/build/{applicationBuildNumber}' \
  --header 'Accept: application/json'

Responses

Content typeValue
application/json

ApplicationVersion

Get application version (latest)

GET /rest/2/applications/{applicationKey}/versions/latest

Get the latest version of the specified application.

Request

Path parameters
applicationKey Required

string

The unique identifier for this application, for example "jira"

Example

1
2
3
curl --request GET \
  --url 'https://marketplace.atlassian.com/rest/2/applications/{applicationKey}/versions/latest' \
  --header 'Accept: application/json'

Responses

Content typeValue
application/json

ApplicationVersion

Get application version (by name)

GET /rest/2/applications/{applicationKey}/versions/name/{name}

Get details about a specific version, matching the specified name, of the specified application.

Request

Path parameters
applicationKey Required

string

The unique identifier for this application, for example "jira"

name Required

string

The display name of the version, for example "1.0.0"

Example

1
2
3
curl --request GET \
  --url 'https://marketplace.atlassian.com/rest/2/applications/{applicationKey}/versions/name/{name}' \
  --header 'Accept: application/json'

Responses

Content typeValue
application/json

ApplicationVersion

Apps

Information about apps

Get apps

GET /rest/2/addons

Get a list of apps matching the specified parameters.

Request

Query parameters
application

string

Only returns apps compatible with this application

applicationBuild

integer

Only returns apps compatible with the specified application build number

Format: int64
category

Array<string>

Only returns apps with any of the specified categories

cost

string

Only returns apps with the specified payment model

Valid values: free, marketplace, orderable, paid

filter

string

Return apps filtered or sorted using the specified parameter

Valid values: atlassian, codegeist, featured, highest-rated, name, new, popular, recent, top-grossing, top-vendor ...(Show more)

forThisUser

boolean

Only returns apps from vendors associated with the current user

hosting

Array<string>

Only returns apps with the specified hosting model

includeHidden

string

Includes apps that are normally hidden in the site

Valid values: all, visibleInApp

includePrivate

boolean

Includes private apps or versions if you are authorized to see them

marketingLabel

Array<string>

Only returns apps with the specified marketing labels

text

string

Only returns apps that match the search text

withVersion

boolean

Includes the latest compatible version in the response

offset

integer

If specified, skips ahead by this number of items

Format: int32
limit

integer

If specified, limits the result set to this number of items

Format: int32

Example

1
2
3
curl --request GET \
  --url 'https://marketplace.atlassian.com/rest/2/addons' \
  --header 'Accept: application/json'

Responses

Content typeValue
application/json

AddonCollection

Create app

POST /rest/2/addons

Create a new app.

The associated vendor account must exist prior to the app's creation.

Note that the app's first version should be included in the request body (in _embedded.version).

This resource requires authentication.

Request

Body parameters
_links Required

AddonLinks

_embedded

AddonEmbedded

name Required

string

The display name of the app, for example "Questions for Confluence"

key Required

string

The unique identifier for this app, for example "com.atlassian.confluence.plugins.confluence-questions"

status Required

string

Indicates whether the app is public, private, or pending approval

Valid values: private, public, readytolaunch, rejected, submitted

summary

string

Summary of the app's functionality

tagLine

string

Short phrase that summarizes what the app does and will be displayed as a heading on the app details page

vendorLinks

AddonExternalLinks

enableAtlassianAnswers

boolean

This field is deprecated and will always be empty. If specified in a request body, it'll be ignored'

googleAnalyticsId

string

Google Analytics account ID for tracking visitors to the app page

legacy

AddonLegacyProperties

marketing

AddonMarketingProperties

statusAfterApproval

string

The status the app will transition to after it has been approved. If not specified, this will be Public

Valid values: private, public, readytolaunch, rejected, submitted

communityEnabled

boolean

To enable and disable showing the Atlassian Comunity Link for a supported app

jsdEmbeddedDataKey

string

The data key that associates the Jira Service Desk Widget with a specific Jira Service Desk project

dataCenterReviewIssueKey

string

Data Center apps go through a technical review process. This is the related issue key.

Example

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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
curl --request POST \
  --url 'https://marketplace.atlassian.com/rest/2/addons' \
  --user 'email@example.com:<api_token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "_links": {
    "self": {
      "href": "<string>",
      "type": "<string>",
      "title": "<string>"
    },
    "alternate": {
      "href": "<string>",
      "type": "<string>",
      "title": "<string>"
    },
    "banner": {
      "href": "<string>",
      "type": "<string>",
      "title": "<string>"
    },
    "categories": [
      {
        "href": "<string>",
        "type": "<string>",
        "title": "<string>"
      }
    ],
    "logo": {
      "href": "<string>",
      "type": "<string>",
      "title": "<string>"
    },
    "support": {
      "href": "<string>",
      "type": "<string>",
      "title": "<string>"
    },
    "titleLogo": {
      "href": "<string>",
      "type": "<string>",
      "title": "<string>"
    },
    "tokens": {
      "href": "<string>",
      "type": "<string>",
      "title": "<string>"
    },
    "distribution": {
      "href": "<string>",
      "type": "<string>",
      "title": "<string>"
    },
    "recommendations": {
      "template": "<string>",
      "type": "<string>",
      "name": "<string>"
    },
    "vendor": {
      "href": "<string>",
      "type": "<string>",
      "title": "<string>"
    },
    "versions": {
      "href": "<string>",
      "type": "<string>",
      "title": "<string>"
    },
    "watch": {
      "href": "<string>",
      "type": "<string>",
      "title": "<string>"
    },
    "approval": {
      "href": "<string>",
      "type": "<string>",
      "title": "<string>"
    },
    "edit": {
      "href": "<string>",
      "type": "<string>",
      "title": "<string>"
    },
    "transition": {
      "href": "<string>",
      "type": "<string>",
      "title": "<string>"
    },
    "release": {
      "href": "<string>",
      "type": "<string>",
      "title": "<string>"
    },
    "feedbacks": {
      "template": "<string>",
      "type": "<string>",
      "name": "<string>"
    }
  },
  "_embedded": {
    "banner": {
      "_links": {
        "self": {
          "href": "<string>"
        },
        "image": {
          "href": "<string>"
        },
        "unscaled": {
          "href": "<string>"
        }
      }
    },
    "logo": {
      "_links": {
        "self": {
          "href": "<string>"
        },
        "image": {
          "href": "<string>"
        },
        "unscaled": {
          "href": "<string>"
        }
      }
    },
    "titleLogo": {
      "_links": {
        "self": {
          "href": "<string>"
        },
        "image": {
          "href": "<string>"
        },
        "unscaled": {
          "href": "<string>"
        }
      }
    },
    "distribution": {},
    "reviews": {
      "averageStars": 23,
      "count": 23
    },
    "vendor": {
      "_links": {
        "self": {
          "href": "<string>"
        },
        "alternate": {
          "href": "<string>"
        }
      },
      "_embedded": {},
      "name": "<string>",
      "verifiedStatus": "flagged",
      "programs": {},
      "isAtlassian": true
    },
    "version": {
      "_links": {},
      "_embedded": {},
      "buildNumber": 120,
      "name": "<string>",
      "status": "private",
      "paymentModel": "atlassian",
      "release": {
        "beta": true,
        "supported": true
      },
      "youtubeId": "<string>",
      "vendorLinks": {},
      "compatibilities": [
        {
          "application": "<string>",
          "hosting": {}
        }
      ],
      "text": {},
      "integrationType": "global",
      "legacy": {
        "vendorLinks": {}
      },
      "deployment": {}
    }
  },
  "name": "<string>",
  "key": "<string>",
  "status": "private",
  "summary": "<string>",
  "tagLine": "<string>",
  "vendorLinks": {
    "issueTracker": "<string>",
    "supportTicketSystem": "<string>",
    "appStatusPage": "<string>",
    "forums": "<string>",
    "privacy": "<string>"
  },
  "enableAtlassianAnswers": true,
  "googleAnalyticsId": "<string>",
  "legacy": {
    "description": "<string>",
    "vendorLinks": {
      "wiki": "<string>",
      "source": "<string>",
      "builds": "<string>"
    }
  },
  "marketing": {
    "marketingLabels": [
      "<string>"
    ]
  },
  "statusAfterApproval": "private",
  "communityEnabled": true,
  "jsdEmbeddedDataKey": "<string>",
  "dataCenterReviewIssueKey": "<string>"
}'

Responses

Successfully created

A schema has not been defined for this response code.

Get archived apps

GET /rest/2/addons/archived

Get a list of archived apps matching the specified parameters.

Request

Query parameters
application

string

Only returns apps compatible with this application

applicationBuild

integer

Only returns apps compatible with the specified application build number

Format: int64
category

Array<string>

Only returns apps with any of the specified categories

cost

string

Only returns apps with the specified payment model

Valid values: free, marketplace, orderable, paid

filter

string

Return apps filtered or sorted using the specified parameter

Valid values: atlassian, codegeist, featured, highest-rated, name, new, popular, recent, top-grossing, top-vendor ...(Show more)

forThisUser

boolean

Only returns apps from vendors associated with the current user

hosting

Array<string>

Only returns apps with the specified hosting model

includeHidden

string

Includes apps that are normally hidden in the site

Valid values: all, visibleInApp

includePrivate

boolean

Includes private apps or versions if you are authorized to see them

marketingLabel

Array<string>

Only returns apps with the specified marketing labels

text

string

Only returns apps that match the search text

withVersion

boolean

Includes the latest compatible version in the response

offset

integer

If specified, skips ahead by this number of items

Format: int32
limit

integer

If specified, limits the result set to this number of items

Format: int32

Example

1
2
3
curl --request GET \
  --url 'https://marketplace.atlassian.com/rest/2/addons/archived' \
  --header 'Accept: application/json'

Responses

Content typeValue
application/json

AddonListingCollection

Get archived apps (by vendor)

GET /rest/2/addons/archived/vendor/{vendorId}

Get a list of archived apps by a specific vendor matching the specified parameters.

Request

Path parameters
vendorId Required

integer

The unique identifier for this vendor

Format: int64
Query parameters
application

string

Only returns apps compatible with this application

applicationBuild

integer

Only returns apps compatible with the specified application build number

Format: int64
category

Array<string>

Only returns apps with any of the specified categories

cost

string

Only returns apps with the specified payment model

Valid values: free, marketplace, orderable, paid

filter

string

Return apps filtered or sorted using the specified parameter

Valid values: atlassian, codegeist, featured, highest-rated, name, new, popular, recent, top-grossing, top-vendor ...(Show more)

forThisUser

boolean

Only returns apps from vendors associated with the current user

hosting

Array<string>

Only returns apps with the specified hosting model

includeHidden

string

Includes apps that are normally hidden in the site

Valid values: all, visibleInApp

includePrivate

boolean

Includes private apps or versions if you are authorized to see them

marketingLabel

Array<string>

Only returns apps with the specified marketing labels

text

string

Only returns apps that match the search text

withVersion

boolean

Includes the latest compatible version in the response

offset

integer

If specified, skips ahead by this number of items

Format: int32
limit

integer

If specified, limits the result set to this number of items

Format: int32

Example

1
2
3
curl --request GET \
  --url 'https://marketplace.atlassian.com/rest/2/addons/archived/vendor/{vendorId}' \
  --header 'Accept: application/json'

Responses

Content typeValue
application/json

AddonListingCollection

Get app banners

GET /rest/2/addons/listings/banners

Get a list of app banners matching the specified parameters.

Request

Query parameters
application

string

Only returns apps compatible with this application

applicationBuild

integer

Only returns apps compatible with the specified application build number

Format: int64
category

Array<string>

Only returns apps with any of the specified categories

cost

string

Only returns apps with the specified payment model

Valid values: free, marketplace, orderable, paid

filter

string

Return apps filtered or sorted using the specified parameter

Valid values: atlassian, codegeist, featured, highest-rated, name, new, popular, recent, top-grossing, top-vendor ...(Show more)

forThisUser

boolean

Only returns apps from vendors associated with the current user

hosting

Array<string>

Only returns apps with the specified hosting model

includeHidden

string

Includes apps that are normally hidden in the site

Valid values: all, visibleInApp

includePrivate

boolean

Includes private apps or versions if you are authorized to see them

marketingLabel

Array<string>

Only returns apps with the specified marketing labels

text

string

Only returns apps that match the search text

withVersion

boolean

Includes the latest compatible version in the response

offset

integer

If specified, skips ahead by this number of items

Format: int32
limit

integer

If specified, limits the result set to this number of items

Format: int32

Example

1
2
3
curl --request GET \
  --url 'https://marketplace.atlassian.com/rest/2/addons/listings/banners' \
  --header 'Accept: application/json'

Responses

Content typeValue
application/json

AddonListingCollection

Get apps (brief)

GET /rest/2/addons/search/brief

Get a list of apps with names matching a search term. This resource's responses are limited to just a single page of results. Use the app collection resource (/rest/2/addons) for more results.

Request

Query parameters
q

string

Text to search for

Example

1
2
3
curl --request GET \
  --url 'https://marketplace.atlassian.com/rest/2/addons/search/brief' \
  --header 'Accept: application/json'

Responses

Content typeValue
application/json

BriefSearchResult

Get apps (by vendor)

GET /rest/2/addons/vendor/{vendorId}

Get a list of apps for the specified vendor.

Request

Path parameters
vendorId Required

integer

The unique identifier for this vendor

Format: int64
Query parameters
application

string

Only returns apps compatible with this application

applicationBuild

integer

Only returns apps compatible with the specified application build number

Format: int64
category

Array<string>

Only returns apps with any of the specified categories

cost

string

Only returns apps with the specified payment model

Valid values: free, marketplace, orderable, paid

filter

string

Return apps filtered or sorted using the specified parameter

Valid values: atlassian, codegeist, featured, highest-rated, name, new, popular, recent, top-grossing, top-vendor ...(Show more)

forThisUser

boolean

Only returns apps from vendors associated with the current user

hosting

Array<string>

Only returns apps with the specified hosting model

includeHidden

string

Includes apps that are normally hidden in the site

Valid values: all, visibleInApp

includePrivate

boolean

Includes private apps or versions if you are authorized to see them

marketingLabel

Array<string>

Only returns apps with the specified marketing labels

text

string

Only returns apps that match the search text

withVersion

boolean

Includes the latest compatible version in the response

offset

integer

If specified, skips ahead by this number of items

Format: int32
limit

integer

If specified, limits the result set to this number of items

Format: int32

Example

1
2
3
curl --request GET \
  --url 'https://marketplace.atlassian.com/rest/2/addons/vendor/{vendorId}' \
  --header 'Accept: application/json'

Responses

Content typeValue
application/json

AddonCollection

Get app

GET /rest/2/addons/{addonKey}

Get a specific app.

Request

Path parameters
addonKey Required

string

The unique identifier for this app, for example "com.atlassian.confluence.plugins.confluence-questions"

Query parameters
application

string

Only returns apps compatible with this application

applicationBuild

integer

Only returns apps compatible with the specified application build number

Format: int64
category

Array<string>

Only returns apps with any of the specified categories

cost

string

Only returns apps with the specified payment model

Valid values: free, marketplace, orderable, paid

filter

string

Return apps filtered or sorted using the specified parameter

Valid values: atlassian, codegeist, featured, highest-rated, name, new, popular, recent, top-grossing, top-vendor ...(Show more)

forThisUser

boolean

Only returns apps from vendors associated with the current user

hosting

Array<string>

Only returns apps with the specified hosting model

includeHidden

string

Includes apps that are normally hidden in the site

Valid values: all, visibleInApp

includePrivate

boolean

Includes private apps or versions if you are authorized to see them

marketingLabel

Array<string>

Only returns apps with the specified marketing labels

text

string

Only returns apps that match the search text

withVersion

boolean

Includes the latest compatible version in the response

Example

1
2
3
curl --request GET \
  --url 'https://marketplace.atlassian.com/rest/2/addons/{addonKey}' \
  --header 'Accept: application/json'

Responses

Content typeValue
application/json

Addon

Update app

PATCH /rest/2/addons/{addonKey}

Update a specific app.

The request body must be a valid JSON Patch document. The properties which can be referenced in the PATCH are the same ones returned by a GET on this URI.

This resource requires authentication.

Request

Path parameters
addonKey Required

string

The unique identifier for this app, for example "com.atlassian.confluence.plugins.confluence-questions"

Body parameters
Content typeValue
application/json-patch+json

Array<JsonPatchDocumentation>

Example

1
2
3
curl --request PATCH \
  --url 'https://marketplace.atlassian.com/rest/2/addons/{addonKey}' \
  --user 'email@example.com:<api_token>'

Responses

Successfully modified

Get app approval

GET /rest/2/addons/{addonKey}/approval

Get a specific app approval status. This resource requires authentication.

Request

Path parameters
addonKey Required

string

The unique identifier for this app, for example "com.atlassian.confluence.plugins.confluence-questions"

Example

1
2
3
4
curl --request GET \
  --url 'https://marketplace.atlassian.com/rest/2/addons/{addonKey}/approval' \
  --user 'email@example.com:<api_token>' \
  --header 'Accept: application/json'

Responses

Content typeValue
application/json

ApprovalStatus

Update app approval

PUT /rest/2/addons/{addonKey}/approval

Approve, reject or resubmit an app for approval.

Vendors can use this resource to resubmit a previously rejected app for approval. This is done by setting the status field to pending.

Administrators can use this resource to approve or reject an app that is submitted for approval.

This resource requires authentication.

Request

Path parameters
addonKey Required

string

The unique identifier for this app, for example "com.atlassian.confluence.plugins.confluence-questions"

Body parameters
_links

ApprovalStatusLinks

status Required

string

Indicates the status of the approval

Valid values: approved, pending, rejected

reason

string

The reason why the app or app version was rejected

Format: html

Example

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
curl --request PUT \
  --url 'https://marketplace.atlassian.com/rest/2/addons/{addonKey}/approval' \
  --user 'email@example.com:<api_token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "_links": {
    "self": {
      "href": "<string>",
      "type": "<string>",
      "title": "<string>"
    },
    "parent": {
      "href": "<string>",
      "type": "<string>",
      "title": "<string>"
    },
    "issuePortal": {
      "href": "<string>",
      "type": "<string>",
      "title": "<string>"
    }
  },
  "status": "approved",
  "reason": "<string>"
}'

Responses

Invalid properties

Content typeValue
application/json

JsonErrorsDoc

Get app metrics

GET /rest/2/addons/{addonKey}/distribution

Get a summary of an app's latest metrics.

Request

Path parameters
addonKey Required

string

The unique identifier for this app, for example "com.atlassian.confluence.plugins.confluence-questions"

Example

1
2
3
curl --request GET \
  --url 'https://marketplace.atlassian.com/rest/2/addons/{addonKey}/distribution' \
  --header 'Accept: application/json'

Responses

Content typeValue
application/json

AddonDistributionSummary

Get app active installations

GET /rest/2/addons/{addonKey}/distribution/active

Get a specific app's active installation counts over time. This resource requires authentication.

Request

Path parameters
addonKey Required

string

The unique identifier for this app, for example "com.atlassian.confluence.plugins.confluence-questions"

Example

1
2
3
4
curl --request GET \
  --url 'https://marketplace.atlassian.com/rest/2/addons/{addonKey}/distribution/active' \
  --user 'email@example.com:<api_token>' \
  --header 'Accept: application/json'

Responses

Content typeValue
application/json

AddonDistribution

Get app active installations (by application)

GET /rest/2/addons/{addonKey}/distribution/application

Get a specific app's active installation counts over time, aggregated by application. This resource requires authentication.

Request

Path parameters
addonKey Required

string

The unique identifier for this app, for example "com.atlassian.confluence.plugins.confluence-questions"

Example

1
2
3
4
curl --request GET \
  --url 'https://marketplace.atlassian.com/rest/2/addons/{addonKey}/distribution/application' \
  --user 'email@example.com:<api_token>' \
  --header 'Accept: application/json'

Responses

Content typeValue
application/json

AddonDistribution

Get app active installations (by application version)

GET /rest/2/addons/{addonKey}/distribution/application/version

Get a specific app's active installation counts over time, aggregated by application version. This resource requires authentication.

Request

Path parameters
addonKey Required

string

The unique identifier for this app, for example "com.atlassian.confluence.plugins.confluence-questions"

Example

1
2
3
4
curl --request GET \
  --url 'https://marketplace.atlassian.com/rest/2/addons/{addonKey}/distribution/application/version' \
  --user 'email@example.com:<api_token>' \
  --header 'Accept: application/json'

Responses

Content typeValue
application/json

AddonDistribution

Get app active installations (by major application version)

GET /rest/2/addons/{addonKey}/distribution/application/version/major

Get a specific app's active installation counts over time, aggregated by major application version. This resource requires authentication.

Request

Path parameters
addonKey Required

string

The unique identifier for this app, for example "com.atlassian.confluence.plugins.confluence-questions"

Example

1
2
3
4
curl --request GET \
  --url 'https://marketplace.atlassian.com/rest/2/addons/{addonKey}/distribution/application/version/major' \
  --user 'email@example.com:<api_token>' \
  --header 'Accept: application/json'

Responses

Content typeValue
application/json

AddonDistribution

Get app active installations (by minor application version)

GET /rest/2/addons/{addonKey}/distribution/application/version/minor

Get a specific app's active installation counts over time, aggregated by minor application version. This resource requires authentication.

Request

Path parameters
addonKey Required

string

The unique identifier for this app, for example "com.atlassian.confluence.plugins.confluence-questions"

Example

1
2
3
4
curl --request GET \
  --url 'https://marketplace.atlassian.com/rest/2/addons/{addonKey}/distribution/application/version/minor' \
  --user 'email@example.com:<api_token>' \
  --header 'Accept: application/json'

Responses

Content typeValue
application/json

AddonDistribution

Get app active installations (by app version)

GET /rest/2/addons/{addonKey}/distribution/version

Get a specific app's active installation counts over time, aggregated by app version. This resource requires authentication.

Request

Path parameters
addonKey Required

string

The unique identifier for this app, for example "com.atlassian.confluence.plugins.confluence-questions"

Example

1
2
3
4
curl --request GET \
  --url 'https://marketplace.atlassian.com/rest/2/addons/{addonKey}/distribution/version' \
  --user 'email@example.com:<api_token>' \
  --header 'Accept: application/json'

Responses

Content typeValue
application/json

AddonDistribution

Get app feedback

GET /rest/2/addons/{addonKey}/feedbacks

Get a list of app feedback matching the specified parameters. This resource requires authentication.

Request

Path parameters
addonKey Required

string

The unique identifier for this app, for example "com.atlassian.confluence.plugins.confluence-questions"

Query parameters
type

string

Return feedback for the specified feedback type only

Valid values: disable, uninstall

includeAnonymous

boolean

Include anonymous feedback

reason

string

Return feedback for the specified reason only

Valid values: bugs, cost, functionality, interface, other, reenabling, reinstalling, usefulness

offset

integer

If specified, skips ahead by this number of items

Format: int32
limit

integer

If specified, limits the result set to this number of items

Format: int32

Example

1
2
3
4
curl --request GET \
  --url 'https://marketplace.atlassian.com/rest/2/addons/{addonKey}/feedbacks' \
  --user 'email@example.com:<api_token>' \
  --header 'Accept: application/json'

Responses

Content typeValue
application/json

AddonFeedbackCollection

Get aggregated app feedback

GET /rest/2/addons/{addonKey}/feedbacks/distribution

Get aggregated feedback for the specified app, aggregated by the specified metric. Feedback can be aggregated by type. This resource requires authentication.

Request

Path parameters
addonKey Required

string

The unique identifier for this app, for example "com.atlassian.confluence.plugins.confluence-questions"

Query parameters
type Required

string

Restricts the feedback distribution to the specified feedback type

Valid values: disable, uninstall

startDate

string

Starting date for the query

Format: date
endDate

string

Ending date for the query

Format: date

Example

1
2
3
4
curl --request GET \
  --url 'https://marketplace.atlassian.com/rest/2/addons/{addonKey}/feedbacks/distribution?type={type}' \
  --user 'email@example.com:<api_token>' \
  --header 'Accept: application/json'

Responses

Content typeValue
application/json

AddonFeedbackDistribution

Get app pricing

GET /rest/2/addons/{addonKey}/pricing/{cloudOrServer}/{liveOrPending}

Get pricing for the specified app. Live pricing is visible to all users. Pending pricing is only visible if you are authenticated as a vendor contact.

Request

Path parameters
addonKey Required

string

The unique identifier for this app, for example "com.atlassian.confluence.plugins.confluence-questions"

cloudOrServer Required

string

Valid values: cloud, datacenter, server

liveOrPending Required

string

Specifies either the pricing that is currently in effect and visible to users (live), or pending that will take effect after a delay

Valid values: live, pending

Example

1
2
3
curl --request GET \
  --url 'https://marketplace.atlassian.com/rest/2/addons/{addonKey}/pricing/{cloudOrServer}/{liveOrPending}' \
  --header 'Accept: application/json'

Responses

Content typeValue
application/json

Pricing

Submit app pricing

PUT /rest/2/addons/{addonKey}/pricing/{cloudOrServer}/{liveOrPending}

Update pricing for the specified app.

Updated pricing is always initially in the "pending" state.

For an app pending approval, pricing changes will go "live" when the app is approved. For an already-approved app, pricing changes will go "live" after 24 hours.

This resource requires authentication.

Request

Path parameters
addonKey Required

string

The unique identifier for this app, for example "com.atlassian.confluence.plugins.confluence-questions"

cloudOrServer Required

string

Valid values: cloud, datacenter, server

liveOrPending Required

string

Specifies either the pricing that is currently in effect and visible to users (live), or pending that will take effect after a delay

Valid values: live, pending

Body parameters
_links

SelfLinkOnly

items Required

Array<PricingItem>

The non-free pricing tiers for the app

perUnitItems

Array<PricingItem>

The per-unit pricing brackets for the app

expertDiscountOptOut Required

boolean

True if Atlassian Solution Partners cannot purchase the app at a discount

role

AddonRole

Example

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
curl --request PUT \
  --url 'https://marketplace.atlassian.com/rest/2/addons/{addonKey}/pricing/{cloudOrServer}/{liveOrPending}' \
  --user 'email@example.com:<api_token>' \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --data '{
  "_links": {
    "self": {
      "href": "<string>",
      "type": "<string>",
      "title": "<string>"
    }
  },
  "items": [
    {
      "amount": 67,
      "unitCount": 123,
      "monthsValid": 70,
      "licenseType": "<string>"
    }
  ],
  "perUnitItems": [
    {
      "amount": 67,
      "unitCount": 123,
      "monthsValid": 70,
      "licenseType": "<string>"
    }
  ],
  "expertDiscountOptOut": true,
  "role": {
    "singularName": "<string>",
    "pluralName": "<string>"
  }
}'

Responses

Content typeValue
application/json

Pricing

Get app recommendations

GET /rest/2/addons/{addonKey}/recommendations

Get apps recommended to users of the specified app.

Request

Path parameters
addonKey Required

string

The unique identifier for this app, for example "com.atlassian.confluence.plugins.confluence-questions"

Query parameters
application

string

Only returns apps compatible with this application

applicationBuild

integer

Only returns apps compatible with the specified application build number

Format: int64
category

Array<string>

Only returns apps with any of the specified categories

cost

string

Only returns apps with the specified payment model

Valid values: free, marketplace, orderable, paid

filter

string

Return apps filtered or sorted using the specified parameter

Valid values: atlassian, codegeist, featured, highest-rated, name, new, popular, recent, top-grossing, top-vendor ...(Show more)

forThisUser

boolean

Only returns apps from vendors associated with the current user

hosting

Array<string>

Only returns apps with the specified hosting model

includeHidden

string

Includes apps that are normally hidden in the site

Valid values: all, visibleInApp

includePrivate

boolean

Includes private apps or versions if you are authorized to see them

marketingLabel

Array<string>

Only returns apps with the specified marketing labels

text

string

Only returns apps that match the search text

withVersion

boolean

Includes the latest compatible version in the response

Example

1
2
3
curl --request GET \
  --url 'https://marketplace.atlassian.com/rest/2/addons/{addonKey}/recommendations' \
  --header 'Accept: application/json'

Responses

Content typeValue
application/json

AddonListingCollection

Get app release status

GET /rest/2/addons/{addonKey}/release

Get a specific app's release status. This resource requires authentication.

Request

Path parameters
addonKey Required

string

The unique identifier for this app, for example "com.atlassian.confluence.plugins.confluence-questions"

Example

1
2
3
4
curl --request GET \
  --url 'https://marketplace.atlassian.com/rest/2/addons/{addonKey}/release' \
  --user 'email@example.com:<api_token>' \
  --header 'Accept: application/json'

Responses

Content typeValue
application/json

AddonReleaseStatus

Release app

PUT /rest/2/addons/{addonKey}/release

Release an app after it has been approved.

If a vendor requests that their app is not automatically released after it has been approved, they can use this resource to release their app.

Set the released field to true. This only works one-way; vendors cannot set it to false later.

This resource requires authentication.

Request

Path parameters
addonKey Required

string

The unique identifier for this app, for example "com.atlassian.confluence.plugins.confluence-questions"

Body parameters
released Required

boolean

Whether the app has been released

Example

1
2
3
4
5
6
7
curl --request PUT \
  --url 'https://marketplace.atlassian.com/rest/2/addons/{addonKey}/release' \
  --user 'email@example.com:<api_token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "released": true
}'

Responses

Invalid properties

Content typeValue
application/json

JsonErrorsDoc

Get access tokens

GET /rest/2/addons/{addonKey}/tokens

Get a list of access tokens for the specified app. In addition to vendor contacts, anonymous users can access this resource if they provide an existing valid token.

Request

Path parameters
addonKey Required

string

The unique identifier for this app, for example "com.atlassian.confluence.plugins.confluence-questions"

Example

1
2
3
curl --request GET \
  --url 'https://marketplace.atlassian.com/rest/2/addons/{addonKey}/tokens' \
  --header 'Accept: application/json'

Responses

Content typeValue
application/json

TokenCollection

Create access token

POST /rest/2/addons/{addonKey}/tokens

Create a new access token. This resource requires authentication.

Request

Path parameters
addonKey Required

string

The unique identifier for this app, for example "com.atlassian.confluence.plugins.confluence-questions"

Example

1
2
3
4
curl --request POST \
  --url 'https://marketplace.atlassian.com/rest/2/addons/{addonKey}/tokens' \
  --user 'email@example.com:<api_token>' \
  --header 'Accept: application/json'

Responses

Content typeValue
application/json

Token

Get access token

GET /rest/2/addons/{addonKey}/tokens/{token}

Get a specific access token. This resource requires authentication.

Request

Path parameters
addonKey Required

string

The unique identifier for this app, for example "com.atlassian.confluence.plugins.confluence-questions"

token Required

string

Example

1
2
3
4
curl --request GET \
  --url 'https://marketplace.atlassian.com/rest/2/addons/{addonKey}/tokens/{token}' \
  --user 'email@example.com:<api_token>' \
  --header 'Accept: application/json'

Responses

Content typeValue
application/json

Token

Validate access token

POST /rest/2/addons/{addonKey}/tokens/{token}

Validates or associates an access token with a host.

For a new access token, this resource associates the token with a host. For tokens already associated with a host, this resource validates that the Origin header matches the associated host. The host is specified by the request's Origin header.

Request

Path parameters
addonKey Required

string

The unique identifier for this app, for example "com.atlassian.confluence.plugins.confluence-questions"

token Required

string

Example

1
2
curl --request POST \
  --url 'https://marketplace.atlassian.com/rest/2/addons/{addonKey}/tokens/{token}'

Responses

Success

Delete access token

DELETE /rest/2/addons/{addonKey}/tokens/{token}

Delete a specific access token. This resource requires authentication.

Request

Path parameters
addonKey Required

string

The unique identifier for this app, for example "com.atlassian.confluence.plugins.confluence-questions"

token Required

string

Example

1
2
3
4
curl --request DELETE \
  --url 'https://marketplace.atlassian.com/rest/2/addons/{addonKey}/tokens/{token}' \
  --user 'email@example.com:<api_token>' \
  --header 'Accept: application/json'

Responses

Content typeValue
application/json

Token

Get watch/unwatch app state

GET /rest/2/addons/{addonKey}/watch

Returns whether or not the current user is watching the specified app. This resource requires authentication.

Request

Path parameters
addonKey Required

string

The unique identifier for this app, for example "com.atlassian.confluence.plugins.confluence-questions"

Example

1
2
3
4
curl --request GET \
  --url 'https://marketplace.atlassian.com/rest/2/addons/{addonKey}/watch' \
  --user 'email@example.com:<api_token>' \
  --header 'Accept: application/json'

Responses

Content typeValue
application/json

BooleanState

Watch / unwatch app

PUT /rest/2/addons/{addonKey}/watch

Updates whether or not the current user is watching the specified app. This resource requires authentication.

Request

Path parameters
addonKey Required

string

The unique identifier for this app, for example "com.atlassian.confluence.plugins.confluence-questions"

Body parameters
_links

BooleanStateRepLinks

state Required

boolean

The true/false value of the state - its meaning depends on the resource

Example

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
curl --request PUT \
  --url 'https://marketplace.atlassian.com/rest/2/addons/{addonKey}/watch' \
  --user 'email@example.com:<api_token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "_links": {
    "self": {
      "href": "<string>",
      "type": "<string>",
      "title": "<string>"
    },
    "up": {
      "href": "<string>",
      "type": "<string>",
      "title": "<string>"
    }
  },
  "state": true
}'

Responses

Successfully modified

Assets

For uploading app/image files

Get asset links

GET /rest/2/assets

Get links to permitted asset resources.

Request

There are no parameters for this request.

Example

1
2
3
curl --request GET \
  --url 'https://marketplace.atlassian.com/rest/2/assets' \
  --header 'Accept: application/json'

Responses

Content typeValue
application/json

HasAssetsCollectionLinks

Upload app artifact

POST /rest/2/assets/artifact

Use this resource to upload an app artifact (.jar or .obr) to Marketplace, so it can be used by an app version.

The request body is the file data.

If successful, the resource will respond with a resource link in _links.self that can be used as the artifact link when creating an app or app version. The response may include additional properties; other than fileInfo, these are used internally and should be ignored.

This resource requires authentication.

Request

Query parameters
file Required

string

The logical filename

Body parameters

Example

1
2
3
4
5
6
curl --request POST \
  --url 'https://marketplace.atlassian.com/rest/2/assets/artifact?file={file}' \
  --user 'email@example.com:<api_token>' \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --data '"<string>"'

Responses

Content typeValue
application/json

AddonArtifactAsset

Validate app artifact

POST /rest/2/assets/artifact/fetch

Use this resource to copy and validate an app artifact (.jar or .obr) that is available from an external URL, so it can be used by an app version.

If successful, you will get a resource link in _links.self that can be used as the artifact link when creating an app or app version.

Note that this step can be skipped by just setting the artifact link to the external URL where the artifact is hosted when creating an app version; Marketplace will then download the artifact automatically.

This resource requires authentication.

Request

Query parameters
uri Required

string

Marketplace will attempt to download the artifact from this location

Format: uri

Example

1
2
3
4
curl --request POST \
  --url 'https://marketplace.atlassian.com/rest/2/assets/artifact/fetch?uri={uri}' \
  --user 'email@example.com:<api_token>' \
  --header 'Accept: application/json'

Responses

Content typeValue
application/json

AddonArtifactAsset

Upload image

POST /rest/2/assets/image/{imageType}

Use this resource to upload an image (.jpg, .png, .gif, .bmp) to Marketplace, so you can use it for an app or vendor.

The request body is the file data.

If successful, you will get a resource link in _links.self that you can use as the appropriate image link in another resource, for example the logo link if you are creating an app.

Note that if the image is available from an external URL, you can skip this step by just setting the image link tothat external URL when you are creating the resource that uses it.

Request

Path parameters
imageType Required

string

Specifies what this image will be used for, which determines the allowable image size

Valid values: banner, hero, icon, logo, screenshot, screenshot-thumbnail, title-logo

Query parameters
file Required

string

The logical filename

Body parameters

Example

1
2
3
4
5
curl --request POST \
  --url 'https://marketplace.atlassian.com/rest/2/assets/image/{imageType}?file={file}' \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --data '"<string>"'

Responses

Content typeValue
application/json

ImageAsset

Get asset details

GET /rest/2/assets/{assetName}

Returns details about a previously uploaded file that Marketplace is now storing. The asset can either be an image file or an app artifact. If it is an app artifact, the response may include additional properties which are used internally and should be ignored.

Request

Path parameters
assetName Required

string

The unique identifying string that Marketplace uses to refer to this asset

Example

1
2
3
curl --request GET \
  --url 'https://marketplace.atlassian.com/rest/2/assets/{assetName}' \
  --header 'Accept: application/json'

Responses

Content typeValue
application/json

ImageAsset

Delete asset

DELETE /rest/2/assets/{assetName}

Removes a file from Marketplace storage which had been previously uploaded.

This is only allowed if:

  1. you, rather than another user, uploaded the file, and
  2. the asset is not currently being used by any other resource (for example, it cannot be the logo image for an existing app).

This resource requires authentication.

Request

Path parameters
assetName Required

string

The unique identifying string that Marketplace uses to refer to this asset

Example

1
2
3
curl --request DELETE \
  --url 'https://marketplace.atlassian.com/rest/2/assets/{assetName}' \
  --user 'email@example.com:<api_token>'

Responses

Success

Categories

Information about categories

Get categories

GET /rest/2/addonCategories/app/{applicationKey}

Get a list of categories associated with the parent application.

For non-UPM clients, this resource returns all categories regardless of the specified application.

Request

Path parameters
applicationKey Required

string

The unique identifier for this application, for example "jira"

Example

1
2
3
curl --request GET \
  --url 'https://marketplace.atlassian.com/rest/2/addonCategories/app/{applicationKey}' \
  --header 'Accept: application/json'

Responses

Content typeValue
application/json

AddonCategoryCollection

Get category

GET /rest/2/addonCategories/{pluginCategoryId}

Get a specific category.

Request

Path parameters
pluginCategoryId Required

integer

The unique identifier for this category

Format: int64

Example

1
2
3
curl --request GET \
  --url 'https://marketplace.atlassian.com/rest/2/addonCategories/{pluginCategoryId}' \
  --header 'Accept: application/json'

Responses

Content typeValue
application/json

AddonCategory

License types

Information about license types

Get license types

GET /rest/2/licenseTypes

Get a list of license types.

Request

There are no parameters for this request.

Example

1
2
3
curl --request GET \
  --url 'https://marketplace.atlassian.com/rest/2/licenseTypes' \
  --header 'Accept: application/json'

Responses

Content typeValue
application/json

LicenseTypesCollection

Get license type

GET /rest/2/licenseTypes/{licenseTypeKey}

Get a specific license type.

Request

Path parameters
licenseTypeKey Required

string

The unique identifier for this license type, for example "gpl"

Example

1
2
3
curl --request GET \
  --url 'https://marketplace.atlassian.com/rest/2/licenseTypes/{licenseTypeKey}' \
  --header 'Accept: application/json'

Responses

Content typeValue
application/json

LicenseType

Products

Information about products

Get products

GET /rest/2/products

Get a list of products matching the specified parameters.

Request

Query parameters
application

string

Only returns apps compatible with this application

applicationBuild

integer

Only returns apps compatible with the specified application build number

Format: int64
cost

string

Only returns apps with the specified payment model

Valid values: free, marketplace, orderable, paid

hosting

string

Only returns apps with the specified hosting model

Valid values: any, cloud, datacenter, server

withVersion

boolean

Includes the latest compatible version in the response

offset

integer

If specified, skips ahead by this number of items

Format: int32
limit

integer

If specified, limits the result set to this number of items

Format: int32

Example

1
2
3
curl --request GET \
  --url 'https://marketplace.atlassian.com/rest/2/products' \
  --header 'Accept: application/json'

Responses

Content typeValue
application/json

ProductCollection

Get product

GET /rest/2/products/key/{productKey}

Get a specific product.

Request

Path parameters
productKey Required

string

The unique identifier for this product, for example "jira-software"

Query parameters
application

string

Only returns apps compatible with this application

applicationBuild

integer

Only returns apps compatible with the specified application build number

Format: int64
cost

string

Only returns apps with the specified payment model

Valid values: free, marketplace, orderable, paid

hosting

string

Only returns apps with the specified hosting model

Valid values: any, cloud, datacenter, server

withVersion

boolean

Includes the latest compatible version in the response

Example

1
2
3
curl --request GET \
  --url 'https://marketplace.atlassian.com/rest/2/products/key/{productKey}' \
  --header 'Accept: application/json'

Responses

Content typeValue
application/json

Product

Get product versions

GET /rest/2/products/key/{productKey}/versions

Get a list of versions for the specified product.

Request

Path parameters
productKey Required

string

The unique identifier for this product, for example "jira-software"

Query parameters
application

string

Only returns apps compatible with this application

applicationBuild

integer

Only returns apps compatible with the specified application build number

Format: int64
cost

string

Only returns apps with the specified payment model

Valid values: free, marketplace, orderable, paid

hosting

string

Only returns apps with the specified hosting model

Valid values: any, cloud, datacenter, server

offset

integer

If specified, skips ahead by this number of items

Format: int32
limit

integer

If specified, limits the result set to this number of items

Format: int32

Example

1
2
3
curl --request GET \
  --url 'https://marketplace.atlassian.com/rest/2/products/key/{productKey}/versions' \
  --header 'Accept: application/json'

Responses

Content typeValue
application/json

ProductVersionCollection

Get product version (by number)

GET /rest/2/products/key/{productKey}/versions/build/{buildNumber}

Get details about a specific version, matching the specified build number, of the specified product.

Request

Path parameters
productKey Required

string

The unique identifier for this product, for example "jira-software"

buildNumber Required

integer

The unique internal identifier and sort key for this version

Format: int32
Query parameters
application

string

Only returns apps compatible with this application

applicationBuild

integer

Only returns apps compatible with the specified application build number

Format: int64
cost

string

Only returns apps with the specified payment model

Valid values: free, marketplace, orderable, paid

hosting

string

Only returns apps with the specified hosting model

Valid values: any, cloud, datacenter, server

Example

1
2
3
curl --request GET \
  --url 'https://marketplace.atlassian.com/rest/2/products/key/{productKey}/versions/build/{buildNumber}' \
  --header 'Accept: application/json'

Responses

Content typeValue
application/json

ProductVersion

Get product version (latest)

GET /rest/2/products/key/{productKey}/versions/latest

Get the latest version of the specified product.

Request

Path parameters
productKey Required

string

The unique identifier for this product, for example "jira-software"

Query parameters
application

string

Only returns apps compatible with this application

applicationBuild

integer

Only returns apps compatible with the specified application build number

Format: int64
cost

string

Only returns apps with the specified payment model

Valid values: free, marketplace, orderable, paid

hosting

string

Only returns apps with the specified hosting model

Valid values: any, cloud, datacenter, server

Example

1
2
3
curl --request GET \
  --url 'https://marketplace.atlassian.com/rest/2/products/key/{productKey}/versions/latest' \
  --header 'Accept: application/json'

Responses

Content typeValue
application/json

ProductVersion

Get product version (by name)

GET /rest/2/products/key/{productKey}/versions/name/{versionName}

Get details about a specific version, matching the specified name, of the specified product.

Request

Path parameters
productKey Required

string

The unique identifier for this product, for example "jira-software"

versionName Required

string

The display name of the version, for example "1.0.0"

Query parameters
application

string

Only returns apps compatible with this application

applicationBuild

integer

Only returns apps compatible with the specified application build number

Format: int64
cost

string

Only returns apps with the specified payment model

Valid values: free, marketplace, orderable, paid

hosting

string

Only returns apps with the specified hosting model

Valid values: any, cloud, datacenter, server

Example

1
2
3
curl --request GET \
  --url 'https://marketplace.atlassian.com/rest/2/products/key/{productKey}/versions/name/{versionName}' \
  --header 'Accept: application/json'

Responses

Content typeValue
application/json

ProductVersion

Promotions

Information about vendor promotions

Get promotions

GET /rest/2/vendors/{vendorId}/promotions

Get a list of promotions for the specified vendor. This resource requires authentication.

Request

Path parameters
vendorId Required

integer

The unique identifier for this vendor

Format: int64

Example

1
2
3
4
curl --request GET \
  --url 'https://marketplace.atlassian.com/rest/2/vendors/{vendorId}/promotions' \
  --user 'email@example.com:<api_token>' \
  --header 'Accept: application/json'

Responses

Content typeValue
application/json

PromotionList

Create promotion

POST /rest/2/vendors/{vendorId}/promotions

Create a new promotion for the specified vendor. This resource requires authentication.

Request

Path parameters
vendorId Required

integer

The unique identifier for this vendor

Format: int64
Body parameters
_links

PromotionLinks

name Required

string

Name of the promotion

products Required

Array<string>

App keys of the apps for which this promotion is applicable

startDate

string

Starting date of the promotion

Format: date
expirationDate Required

string

Expiration date of the promotion

Format: date
status

string

Current status of the promotion

Valid values: ACTIVE, ENDED-EARLY, EXPIRED

usageType Required

string

Indicates whether this is a shared or single-use promotion

Valid values: MULTI, SINGLE

discountType Required

string

Indicates whether the promotion uses percentage discounts or dollar amounts

Valid values: FLAT, PERCENTAGE

discountPercent

integer

Discount percentage if this promotion is based on a percentage discount

Format: int32
appliesToAllLicenseTypes

boolean

True if the promotion applies to all license types

maxUses

integer

Maximum number of times this promotion can be used if it is a shared promotion

Format: int32
hosting

string

Hosting environment of the apps for which this promotion is applicable. Allowed values are server or datacenter, defaulting to server.

Example

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
curl --request POST \
  --url 'https://marketplace.atlassian.com/rest/2/vendors/{vendorId}/promotions' \
  --user 'email@example.com:<api_token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "_links": {
    "self": {
      "href": "<string>",
      "type": "<string>",
      "title": "<string>"
    },
    "edit": {
      "href": "<string>",
      "type": "<string>",
      "title": "<string>"
    },
    "status": {
      "href": "<string>",
      "type": "<string>",
      "title": "<string>"
    },
    "codes": {
      "href": "<string>",
      "type": "<string>",
      "title": "<string>"
    },
    "usage": {
      "href": "<string>",
      "type": "<string>",
      "title": "<string>"
    }
  },
  "name": "<string>",
  "products": [
    "<string>"
  ],
  "startDate": "<string>",
  "expirationDate": "<string>",
  "status": "ACTIVE",
  "usageType": "MULTI",
  "discountType": "FLAT",
  "discountPercent": 71,
  "appliesToAllLicenseTypes": true,
  "maxUses": 78,
  "hosting": "<string>"
}'

Responses

Successfully created

A schema has not been defined for this response code.

Get promotion

GET /rest/2/vendors/{vendorId}/promotions/{promotionId}

Get a specific promotion for the specified vendor. This resource requires authentication.

Request

Path parameters
vendorId Required

integer

The unique identifier for this vendor

Format: int64
promotionId Required

string

The unique identifier for this promotion

Example

1
2
3
4
curl --request GET \
  --url 'https://marketplace.atlassian.com/rest/2/vendors/{vendorId}/promotions/{promotionId}' \
  --user 'email@example.com:<api_token>' \
  --header 'Accept: application/json'

Responses

Content typeValue
application/json

Promotion

Update promotion

PATCH /rest/2/vendors/{vendorId}/promotions/{promotionId}

Update a specific promotion for the specified vendor.

The request body must be a valid JSON Patch document. The properties which can be referenced in the PATCH are the same ones returned by a GET on this URI.

This resource requires authentication.

Request

Path parameters
vendorId Required

integer

The unique identifier for this vendor

Format: int64
promotionId Required

string

The unique identifier for this promotion

Body parameters
Content typeValue
application/json-patch+json

Array<JsonPatchDocumentation>

Example

1
2
3
curl --request PATCH \
  --url 'https://marketplace.atlassian.com/rest/2/vendors/{vendorId}/promotions/{promotionId}' \
  --user 'email@example.com:<api_token>'

Responses

Successfully modified

Get promotion codes

GET /rest/2/vendors/{vendorId}/promotions/{promotionId}/codes

Get a list of single-use codes for the specified promotion.

This resource requires authentication.

Request

Path parameters
vendorId Required

integer

The unique identifier for this vendor

Format: int64
promotionId Required

string

The unique identifier for this promotion

Example

1
2
3
4
curl --request GET \
  --url 'https://marketplace.atlassian.com/rest/2/vendors/{vendorId}/promotions/{promotionId}/codes' \
  --user 'email@example.com:<api_token>' \
  --header 'Accept: application/json'

Responses

Content typeValue
application/json

PromotionCodeList

Create promotion code

POST /rest/2/vendors/{vendorId}/promotions/{promotionId}/codes

Create a new single-use code for the specified promotion.

This resource requires authentication.

Request

Path parameters
vendorId Required

integer

The unique identifier for this vendor

Format: int64
promotionId Required

string

The unique identifier for this promotion

Example

1
2
3
4
curl --request POST \
  --url 'https://marketplace.atlassian.com/rest/2/vendors/{vendorId}/promotions/{promotionId}/codes' \
  --user 'email@example.com:<api_token>' \
  --header 'Accept: application/json'

Responses

Content typeValue
application/json

PromotionCode

Get promotion code

GET /rest/2/vendors/{vendorId}/promotions/{promotionId}/codes/{promotionCode}

Get a specific single-use code for the specified promotion.

This resource requires authentication.

Request

Path parameters
vendorId Required

integer

The unique identifier for this vendor

Format: int64
promotionId Required

string

The unique identifier for this promotion

promotionCode Required

string

Example

1
2
3
4
curl --request GET \
  --url 'https://marketplace.atlassian.com/rest/2/vendors/{vendorId}/promotions/{promotionId}/codes/{promotionCode}' \
  --user 'email@example.com:<api_token>' \
  --header 'Accept: application/json'

Responses

Content typeValue
application/json

PromotionCode

Delete promotion code

DELETE /rest/2/vendors/{vendorId}/promotions/{promotionId}/codes/{promotionCode}

Delete a specific single-use code for a specific promotion associated with a specific vendor.

Promotion codes can only be deleted prior to their use.

This resource requires authentication.

Request

Path parameters
vendorId Required

integer

The unique identifier for this vendor

Format: int64
promotionId Required

string

The unique identifier for this promotion

promotionCode Required

string

Example

1
2
3
curl --request DELETE \
  --url 'https://marketplace.atlassian.com/rest/2/vendors/{vendorId}/promotions/{promotionId}/codes/{promotionCode}' \
  --user 'email@example.com:<api_token>'

Responses

Successfully deleted

A schema has not been defined for this response code.

Get promotion status

GET /rest/2/vendors/{vendorId}/promotions/{promotionId}/status

Get a specific promotion status for the specified vendor. This resource requires authentication.

Request

Path parameters
vendorId Required

integer

The unique identifier for this vendor

Format: int64
promotionId Required

string

The unique identifier for this promotion

Example

1
2
3
4
curl --request GET \
  --url 'https://marketplace.atlassian.com/rest/2/vendors/{vendorId}/promotions/{promotionId}/status' \
  --user 'email@example.com:<api_token>' \
  --header 'Accept: application/json'

Responses

Content typeValue
application/json

string

Reporting

Information about vendor reporting

Get reporting links

GET /rest/2/vendors/{vendorId}/reporting

Get links to permitted vendor reporting resources. This resource requires authentication.

Request

Path parameters
vendorId Required

integer

The unique identifier for this vendor

Format: int64

Example

1
2
3
4
curl --request GET \
  --url 'https://marketplace.atlassian.com/rest/2/vendors/{vendorId}/reporting' \
  --user 'email@example.com:<api_token>' \
  --header 'Accept: application/json'

Responses

Content typeValue
application/json

VendorReporting

Get aggregated evaluations

GET /rest/2/vendors/{vendorId}/reporting/evaluations/{metric}

Get aggregated evaluations for the specified vendor, aggregated by the specified metric. Evaluations can be aggregated by hosting, region, and more. This resource requires authentication.

Request

Path parameters
vendorId Required

integer

The unique identifier for this vendor

Format: int64
metric Required

string

The unique identifier for this evaluation metric

Valid values: country, hosting, partner, region

Query parameters
aggregation

string

The time aggregation

Valid values: month, week

startDate

string

Starting date for the query

Format: date
endDate

string

Ending date for the query

Format: date

Example

1
2
3
4
curl --request GET \
  --url 'https://marketplace.atlassian.com/rest/2/vendors/{vendorId}/reporting/evaluations/{metric}' \
  --user 'email@example.com:<api_token>' \
  --header 'Accept: application/json'

Responses

Content typeValue
application/json

AggregatedAddonsWithTotal

Get feedback

GET /rest/2/vendors/{vendorId}/reporting/feedback/details

Get a list of feedback for the specified vendor's apps. This resource requires authentication.

Request

Path parameters
vendorId Required

integer

The unique identifier for this vendor

Format: int64
Query parameters
type

Array<string>

Restrict feedback to the specified type

anonymous

boolean

Restrict feedback to feedback that is either anonymous or by a known user

reason

Array<string>

Restrict feedback to the specified reason

addon

Array<string>

If specified, restricts the query to values for apps with the specified keys

hosting

Array<string>

Restricts the query to values for these hosting types

startDate

string

Starting date for the query

Format: date
endDate

string

Ending date for the query

Format: date
text

string

Text to search for in the reporter details (license id and email address) and the optional message

offset

integer

If specified, skips ahead by this number of items

Format: int32
limit

integer

If specified, limits the result set to this number of items

Format: int32

Example

1
2
3
4
curl --request GET \
  --url 'https://marketplace.atlassian.com/rest/2/vendors/{vendorId}/reporting/feedback/details' \
  --user 'email@example.com:<api_token>' \
  --header 'Accept: application/json'

Responses

Content typeValue
application/json

VendorFeedbackCollection

Export feedback

GET /rest/2/vendors/{vendorId}/reporting/feedback/details/export

Export all feedback, matching the specified filters, for the specified vendor's apps. This resource requires authentication.

Request

Path parameters
vendorId Required

integer

The unique identifier for this vendor

Format: int64
Query parameters
type

Array<string>

Restrict feedback to the specified type

anonymous

boolean

Restrict feedback to feedback that is either anonymous or by a known user

reason

Array<string>

Restrict feedback to the specified reason

addon

Array<string>

If specified, restricts the query to values for apps with the specified keys

hosting

Array<string>

Restricts the query to values for these hosting types

startDate

string

Starting date for the query

Format: date
endDate

string

Ending date for the query

Format: date
text

string

Text to search for in the reporter details (license id and email address) and the optional message

accept

string

Specifies the response format. If unspecified, the 'Accept' header will be used.

Valid values: csv, json

Example

1
2
3
curl --request GET \
  --url 'https://marketplace.atlassian.com/rest/2/vendors/{vendorId}/reporting/feedback/details/export' \
  --user 'email@example.com:<api_token>'

Responses

A schema has not been defined for this response code.

Get aggregated feedback

GET /rest/2/vendors/{vendorId}/reporting/feedback/metrics/{metric}

Get aggregated feedback for the specified vendor, aggregated by the specified metric. Feedback can be aggregated by type and reason. This resource requires authentication.

Request

Path parameters
vendorId Required

integer

The unique identifier for this vendor

Format: int64
metric Required

string

The unique identifier for this vendor feedback metric

Valid values: reason, type

Query parameters
aggregation

string

The time aggregation

Valid values: month, week

startDate

string

Starting date for the query

Format: date
endDate

string

Ending date for the query

Format: date

Example

1
2
3
4
curl --request GET \
  --url 'https://marketplace.atlassian.com/rest/2/vendors/{vendorId}/reporting/feedback/metrics/{metric}' \
  --user 'email@example.com:<api_token>' \
  --header 'Accept: application/json'

Responses

Content typeValue
application/json

AggregatedAddonsWithTotal

Get licenses

GET /rest/2/vendors/{vendorId}/reporting/licenses

Get a list of licenses for the specified vendor's apps. This resource requires authentication.

Request

Path parameters
vendorId Required

integer

The unique identifier for this vendor

Format: int64
Query parameters
addon

Array<string>

If specified, restricts the query to values for apps with the specified keys

startDate

string

Starting date for the query

Format: date
endDate

string

Ending date for the query

Format: date
text

string

Text to search for in license fields (license id, customer information and partner information)

tier

Array<integer>

Restricts the query to values for these user/edition tiers

dateType

string

The date field against which filters will be applied

Valid values: end, start

licenseType

Array<string>

If specified, restricts the query to values with the provided license type; 'inactive' queries for expired licenses. Queries for 'starter' are deprecated; results may not be as expected

partnerType

Array<string>

Specifies whether to query only direct sales, expert sales, or reseller sales

hosting

Array<string>

Restricts the query to values for these hosting types

status

Array<string>

If specified, restricts the query to values with the provided status

lastUpdated

string

If specified, restricts the query to values updated on or after the specified date

Format: date
sortBy

string

If specified, determines the license sort order

Valid values: addonName, company, country, endDate, hosting, licenseId, licenseType, partner, region, startDate ...(Show more)

order

string

Determines whether values are sorted in ascending or descending order

Valid values: asc, desc

offset

integer

If specified, skips ahead by this number of items

Format: int32
limit

integer

If specified, limits the result set to this number of items

Format: int32

Example

1
2
3
4
curl --request GET \
  --url 'https://marketplace.atlassian.com/rest/2/vendors/{vendorId}/reporting/licenses' \
  --user 'email@example.com:<api_token>' \
  --header 'Accept: application/json'

Responses

Content typeValue
application/json

LicenseCollection

Export licenses

GET /rest/2/vendors/{vendorId}/reporting/licenses/export

Export all licenses, matching the specified filters, for the specified vendor's apps. This resource requires authentication.

Request

Path parameters
vendorId Required

integer

The unique identifier for this vendor

Format: int64
Query parameters
addon

Array<string>

If specified, restricts the query to values for apps with the specified keys

startDate

string

Starting date for the query

Format: date
endDate

string

Ending date for the query

Format: date
text

string

Text to search for in license fields (license id, customer information and partner information)

tier

Array<integer>

Restricts the query to values for these user/edition tiers

dateType

string

The date field against which filters will be applied

Valid values: end, start

licenseType

Array<string>

If specified, restricts the query to values with the provided license type; 'inactive' queries for expired licenses. Queries for 'starter' are deprecated; results may not be as expected

partnerType

Array<string>

Specifies whether to query only direct sales, expert sales, or reseller sales

hosting

Array<string>

Restricts the query to values for these hosting types

status

Array<string>

If specified, restricts the query to values with the provided status

lastUpdated

string

If specified, restricts the query to values updated on or after the specified date

Format: date
sortBy

string

If specified, determines the license sort order

Valid values: addonName, company, country, endDate, hosting, licenseId, licenseType, partner, region, startDate ...(Show more)

order

string

Determines whether values are sorted in ascending or descending order

Valid values: asc, desc

accept

string

Specifies the response format. If unspecified, the 'Accept' header will be used.

Valid values: csv, json

Example

1
2
3
curl --request GET \
  --url 'https://marketplace.atlassian.com/rest/2/vendors/{vendorId}/reporting/licenses/export' \
  --user 'email@example.com:<api_token>'

Responses

A schema has not been defined for this response code.

Get Cloud churn

GET /rest/2/vendors/{vendorId}/reporting/sales/metrics/churn

Get a list of Cloud churn events for the specified vendor's apps. For a given period, churn is calculated as the number of paying customers that have an opportunity to renew and choose to stop paying. This resource requires authentication.

Request

Path parameters
vendorId Required

integer

The unique identifier for this vendor

Format: int64
Query parameters
aggregation

string

The time aggregation

Valid values: month, week

startDate

string

Starting date for the query

Format: date
endDate

string

Ending date for the query

Format: date

Example

1
2
3
4
curl --request GET \
  --url 'https://marketplace.atlassian.com/rest/2/vendors/{vendorId}/reporting/sales/metrics/churn' \
  --user 'email@example.com:<api_token>' \
  --header 'Accept: application/json'

Responses

Content typeValue
application/json

CalculatedChurn

Get Cloud conversions

GET /rest/2/vendors/{vendorId}/reporting/sales/metrics/conversion

Get a list of Cloud conversion events for the specified vendor's apps. For a given period, conversions are calculated as the number of evaluation licenses that converted into paid licenses. This resource requires authentication.

Request

Path parameters
vendorId Required

integer

The unique identifier for this vendor

Format: int64
Query parameters
aggregation

string

The time aggregation

Valid values: month, week

startDate

string

Starting date for the query

Format: date
endDate

string

Ending date for the query

Format: date

Example

1
2
3
4
curl --request GET \
  --url 'https://marketplace.atlassian.com/rest/2/vendors/{vendorId}/reporting/sales/metrics/conversion' \
  --user 'email@example.com:<api_token>' \
  --header 'Accept: application/json'

Responses

Content typeValue
application/json

CalculatedConversions

Get Cloud renewals

GET /rest/2/vendors/{vendorId}/reporting/sales/metrics/renewal

Get a list of Cloud renewal events for the specified vendor's apps. For a given period, renewals are calculated as the number of paying customers that have an opportunity to renew and choose to continue paying. This resource requires authentication.

Request

Path parameters
vendorId Required

integer

The unique identifier for this vendor

Format: int64
Query parameters
aggregation

string

The time aggregation

Valid values: month, week

startDate

string

Starting date for the query

Format: date
endDate

string

Ending date for the query

Format: date

Example

1
2
3
4
curl --request GET \
  --url 'https://marketplace.atlassian.com/rest/2/vendors/{vendorId}/reporting/sales/metrics/renewal' \
  --user 'email@example.com:<api_token>' \
  --header 'Accept: application/json'

Responses

Content typeValue
application/json

CalculatedRenewals

Get Cloud license events

GET /rest/2/vendors/{vendorId}/reporting/sales/metrics/{saleMetric}/details

Get the details about an individual Cloud license event (churn, conversion or renewal) for a specific vendor's apps.

This resource requires authentication.

Request

Path parameters
vendorId Required

integer

The unique identifier for this vendor

Format: int64
saleMetric Required

string

Valid values: churn, conversion, renewal

Query parameters
addon

Array<string>

If specified, restricts the query to values for apps with the specified keys

hosting

Array<string>

Restricts the query to values for these hosting types

lastUpdated

string

If specified, restricts the query to values updated on or after the specified date

Format: date
partnerType

Array<string>

Specifies whether to query only direct sales, expert sales, or reseller sales

text

string

Text to search for (transaction id, license id, customer information and partner information)

startDate

string

Starting date for the query

Format: date
endDate

string

Ending date for the query

Format: date
sortBy

string

If specified, determines the data sort order

Valid values: addonName, date, hosting, licenseId, transactionId

order

string

Determines whether values are sorted in ascending or descending order

Valid values: asc, desc

Example

1
2
3
4
curl --request GET \
  --url 'https://marketplace.atlassian.com/rest/2/vendors/{vendorId}/reporting/sales/metrics/{saleMetric}/details' \
  --user 'email@example.com:<api_token>' \
  --header 'Accept: application/json'

Responses

Content typeValue
application/json

LicenseTransitionCollection

Export Cloud license events

GET /rest/2/vendors/{vendorId}/reporting/sales/metrics/{saleMetric}/details/export

Export all Cloud license events, matching the specified filters, for the specified vendor's apps. This resource requires authentication.

Request

Path parameters
vendorId Required

integer

The unique identifier for this vendor

Format: int64
saleMetric Required

string

Valid values: churn, conversion, renewal

Query parameters
addon

Array<string>

If specified, restricts the query to values for apps with the specified keys

hosting

Array<string>

Restricts the query to values for these hosting types

lastUpdated

string

If specified, restricts the query to values updated on or after the specified date

Format: date
partnerType

Array<string>

Specifies whether to query only direct sales, expert sales, or reseller sales

text

string

Text to search for (transaction id, license id, customer information and partner information)

startDate

string

Starting date for the query

Format: date
endDate

string

Ending date for the query

Format: date
sortBy

string

If specified, determines the data sort order

Valid values: addonName, date, hosting, licenseId, transactionId

order

string

Determines whether values are sorted in ascending or descending order

Valid values: asc, desc

accept

string

Specifies the response format. If unspecified, the 'Accept' header will be used.

Valid values: csv, json

Example

1
2
3
curl --request GET \
  --url 'https://marketplace.atlassian.com/rest/2/vendors/{vendorId}/reporting/sales/metrics/{saleMetric}/details/export' \
  --user 'email@example.com:<api_token>'

Responses

A schema has not been defined for this response code.

Get transactions

GET /rest/2/vendors/{vendorId}/reporting/sales/transactions

Get a list of transactions for the specified vendor's apps. This resource requires authentication.

Request

Path parameters
vendorId Required

integer

The unique identifier for this vendor

Format: int64
Query parameters
addon

Array<string>

If specified, restricts the query to values for apps with the specified keys

startDate

string

Starting date for the query

Format: date
endDate

string

Ending date for the query

Format: date
text

string

Text to search for in transaction fields (transaction id, license id, customer information and partner information)

tier

Array<integer>

Restricts the query to values for these user/edition tiers

saleType

Array<string>

Restricts the query to sales of these types

partnerType

Array<string>

Specifies whether to query only direct sales, expert sales, or reseller sales

hosting

Array<string>

Restricts the query to values for these hosting types

lastUpdated

string

If specified, restricts the query to values updated on or after the specified date

Format: date
sortBy

string

If specified, determines the transaction sort order

Valid values: addonName, company, country, date, hosting, licenseId, licenseType, partner, partnerType, purchasePrice ...(Show more)

order

string

Determines whether values are sorted in ascending or descending order

Valid values: asc, desc

offset

integer

If specified, skips ahead by this number of items

Format: int32
limit

integer

If specified, limits the result set to this number of items

Format: int32

Example

1
2
3
4
curl --request GET \
  --url 'https://marketplace.atlassian.com/rest/2/vendors/{vendorId}/reporting/sales/transactions' \
  --user 'email@example.com:<api_token>' \
  --header 'Accept: application/json'

Responses

Content typeValue
application/json

TransactionCollection

Export transactions

GET /rest/2/vendors/{vendorId}/reporting/sales/transactions/export

Export all transactions, matching the specified filters, for the specified vendor's apps. This resource requires authentication.

Request

Path parameters
vendorId Required

integer

The unique identifier for this vendor

Format: int64
Query parameters
addon

Array<string>

If specified, restricts the query to values for apps with the specified keys

startDate

string

Starting date for the query

Format: date
endDate

string

Ending date for the query

Format: date
text

string

Text to search for in transaction fields (transaction id, license id, customer information and partner information)

tier

Array<integer>

Restricts the query to values for these user/edition tiers

saleType

Array<string>

Restricts the query to sales of these types

partnerType

Array<string>

Specifies whether to query only direct sales, expert sales, or reseller sales

hosting

Array<string>

Restricts the query to values for these hosting types

lastUpdated

string

If specified, restricts the query to values updated on or after the specified date

Format: date
sortBy

string

If specified, determines the transaction sort order

Valid values: addonName, company, country, date, hosting, licenseId, licenseType, partner, partnerType, purchasePrice ...(Show more)

order

string

Determines whether values are sorted in ascending or descending order

Valid values: asc, desc

accept

string

Specifies the response format. If unspecified, the 'Accept' header will be used.

Valid values: csv, json

Example

1
2
3
curl --request GET \
  --url 'https://marketplace.atlassian.com/rest/2/vendors/{vendorId}/reporting/sales/transactions/export' \
  --user 'email@example.com:<api_token>'

Responses

A schema has not been defined for this response code.

Get aggregated sales

GET /rest/2/vendors/{vendorId}/reporting/sales/transactions/{metric}

Get aggregated sales for the specified vendor, aggregated by the specified metric. Sales can be aggregated by hosting, region, and more. This resource requires authentication.

Request

Path parameters
vendorId Required

integer

The unique identifier for this vendor

Format: int64
metric Required

string

The unique identifier for this sale metric

Valid values: country, hosting, partner, region, tier, type

Query parameters
aggregation

string

The time aggregation

Valid values: month, week

startDate

string

Starting date for the query

Format: date
endDate

string

Ending date for the query

Format: date

Example

1
2
3
4
curl --request GET \
  --url 'https://marketplace.atlassian.com/rest/2/vendors/{vendorId}/reporting/sales/transactions/{metric}' \
  --user 'email@example.com:<api_token>' \
  --header 'Accept: application/json'

Responses

Content typeValue
application/json

AggregatedAddonsWithTotal

Reviews

Information about app reviews

Get app reviews

GET /rest/2/addons/{addonKey}/reviews

Get a list of reviews for the specified app.

Request

Path parameters
addonKey Required

string

The unique identifier for this app, for example "com.atlassian.confluence.plugins.confluence-questions"

Query parameters
sort

string

Specifies the review sort order

Valid values: helpful, recent

offset

integer

If specified, skips ahead by this number of items

Format: int32
limit

integer

If specified, limits the result set to this number of items

Format: int32

Example

1
2
3
curl --request GET \
  --url 'https://marketplace.atlassian.com/rest/2/addons/{addonKey}/reviews' \
  --header 'Accept: application/json'

Responses

Content typeValue
application/json

ReviewCollection

Create / update app review

POST /rest/2/addons/{addonKey}/reviews

Create or update a specific app review. This resource requires authentication.

Request

Path parameters
addonKey Required

string

The unique identifier for this app, for example "com.atlassian.confluence.plugins.confluence-questions"

Body parameters
_links

ReviewLinks

_embedded

ReviewEmbedded

review

string

App review content

stars Required

integer

Number of stars

Format: int32

Example

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
curl --request POST \
  --url 'https://marketplace.atlassian.com/rest/2/addons/{addonKey}/reviews' \
  --user 'email@example.com:<api_token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "_links": {
    "self": {
      "href": "<string>",
      "type": "<string>",
      "title": "<string>"
    },
    "alternate": {
      "href": "<string>",
      "type": "<string>",
      "title": "<string>"
    },
    "author": {
      "href": "<string>",
      "type": "<string>",
      "title": "<string>"
    },
    "response": {
      "href": "<string>",
      "type": "<string>",
      "title": "<string>"
    },
    "flag": {
      "href": "<string>",
      "type": "<string>",
      "title": "<string>"
    },
    "voteUp": {
      "href": "<string>",
      "type": "<string>",
      "title": "<string>"
    },
    "voteDown": {
      "href": "<string>",
      "type": "<string>",
      "title": "<string>"
    }
  },
  "_embedded": {
    "author": {
      "_links": {
        "alternate": {
          "href": "<string>"
        },
        "picture": {
          "href": "<string>"
        },
        "pictureTemplate": {
          "template": "<string>"
        }
      },
      "name": "<string>",
      "email": "<string>"
    },
    "response": {
      "_links": {
        "self": {
          "href": "<string>"
        }
      },
      "text": "<string>"
    }
  },
  "review": "<string>",
  "stars": 15
}'

Responses

Successfully modified

Get app review

GET /rest/2/addons/{addonKey}/reviews/id/{reviewId}

Get a specific app review.

Request

Path parameters
addonKey Required

string

The unique identifier for this app, for example "com.atlassian.confluence.plugins.confluence-questions"

reviewId Required

string

Example

1
2
3
curl --request GET \
  --url 'https://marketplace.atlassian.com/rest/2/addons/{addonKey}/reviews/id/{reviewId}' \
  --header 'Accept: application/json'

Responses

Content typeValue
application/json

Review

Create / update app review

PUT /rest/2/addons/{addonKey}/reviews/id/{reviewId}

Create or update a specific app review.

Request

Path parameters
addonKey Required

string

The unique identifier for this app, for example "com.atlassian.confluence.plugins.confluence-questions"

reviewId Required

string

Body parameters
_links

ReviewLinks

_embedded

ReviewEmbedded

review

string

App review content

stars Required

integer

Number of stars

Format: int32

Example

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
curl --request PUT \
  --url 'https://marketplace.atlassian.com/rest/2/addons/{addonKey}/reviews/id/{reviewId}' \
  --header 'Content-Type: application/json' \
  --data '{
  "_links": {
    "self": {
      "href": "<string>",
      "type": "<string>",
      "title": "<string>"
    },
    "alternate": {
      "href": "<string>",
      "type": "<string>",
      "title": "<string>"
    },
    "author": {
      "href": "<string>",
      "type": "<string>",
      "title": "<string>"
    },
    "response": {
      "href": "<string>",
      "type": "<string>",
      "title": "<string>"
    },
    "flag": {
      "href": "<string>",
      "type": "<string>",
      "title": "<string>"
    },
    "voteUp": {
      "href": "<string>",
      "type": "<string>",
      "title": "<string>"
    },
    "voteDown": {
      "href": "<string>",
      "type": "<string>",
      "title": "<string>"
    }
  },
  "_embedded": {
    "author": {
      "_links": {
        "alternate": {
          "href": "<string>"
        },
        "picture": {
          "href": "<string>"
        },
        "pictureTemplate": {
          "template": "<string>"
        }
      },
      "name": "<string>",
      "email": "<string>"
    },
    "response": {
      "_links": {
        "self": {
          "href": "<string>"
        }
      },
      "text": "<string>"
    }
  },
  "review": "<string>",
  "stars": 15
}'

Responses

Successfully modified

Delete app review

DELETE /rest/2/addons/{addonKey}/reviews/id/{reviewId}

Delete a specific app review.

Request

Path parameters
addonKey Required

string

The unique identifier for this app, for example "com.atlassian.confluence.plugins.confluence-questions"

reviewId Required

string

Example

1
2
curl --request DELETE \
  --url 'https://marketplace.atlassian.com/rest/2/addons/{addonKey}/reviews/id/{reviewId}'

Responses

Success

Get app review downvote

GET /rest/2/addons/{addonKey}/reviews/id/{reviewId}/down

Returns whether or not the current user has downvoted the specified app review. This resource requires authentication.

Request

Path parameters
addonKey Required

string

The unique identifier for this app, for example "com.atlassian.confluence.plugins.confluence-questions"

reviewId Required

string

Example

1
2
3
4
curl --request GET \
  --url 'https://marketplace.atlassian.com/rest/2/addons/{addonKey}/reviews/id/{reviewId}/down' \
  --user 'email@example.com:<api_token>' \
  --header 'Accept: application/json'

Responses

Content typeValue
application/json

BooleanState

Update app review downvote

PUT /rest/2/addons/{addonKey}/reviews/id/{reviewId}/down

Updates whether or not the current user has downvoted the specified app review. This resource requires authentication.

Request

Path parameters
addonKey Required

string

The unique identifier for this app, for example "com.atlassian.confluence.plugins.confluence-questions"

reviewId Required

string

Body parameters
_links

BooleanStateRepLinks

state Required

boolean

The true/false value of the state - its meaning depends on the resource

Example

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
curl --request PUT \
  --url 'https://marketplace.atlassian.com/rest/2/addons/{addonKey}/reviews/id/{reviewId}/down' \
  --user 'email@example.com:<api_token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "_links": {
    "self": {
      "href": "<string>",
      "type": "<string>",
      "title": "<string>"
    },
    "up": {
      "href": "<string>",
      "type": "<string>",
      "title": "<string>"
    }
  },
  "state": true
}'

Responses

Successfully modified

Get app review flag

GET /rest/2/addons/{addonKey}/reviews/id/{reviewId}/flag

Returns whether or not the current user has flagged the specified app review. This resource requires authentication.

Request

Path parameters
addonKey Required

string

The unique identifier for this app, for example "com.atlassian.confluence.plugins.confluence-questions"

reviewId Required

string

Example

1
2
3
4
curl --request GET \
  --url 'https://marketplace.atlassian.com/rest/2/addons/{addonKey}/reviews/id/{reviewId}/flag' \
  --user 'email@example.com:<api_token>' \
  --header 'Accept: application/json'

Responses

Content typeValue
application/json

BooleanState

Update app review flag

PUT /rest/2/addons/{addonKey}/reviews/id/{reviewId}/flag

Updates whether or not the current user has flagged the specified app review. This resource requires authentication.

Request

Path parameters
addonKey Required

string

The unique identifier for this app, for example "com.atlassian.confluence.plugins.confluence-questions"

reviewId Required

string

Body parameters
_links

BooleanStateRepLinks

state Required

boolean

The true/false value of the state - its meaning depends on the resource

Example

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
curl --request PUT \
  --url 'https://marketplace.atlassian.com/rest/2/addons/{addonKey}/reviews/id/{reviewId}/flag' \
  --user 'email@example.com:<api_token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "_links": {
    "self": {
      "href": "<string>",
      "type": "<string>",
      "title": "<string>"
    },
    "up": {
      "href": "<string>",
      "type": "<string>",
      "title": "<string>"
    }
  },
  "state": true
}'

Responses

Successfully modified

Get app review response

GET /rest/2/addons/{addonKey}/reviews/id/{reviewId}/response

Get the response for the specified app review.

Request

Path parameters
addonKey Required

string

The unique identifier for this app, for example "com.atlassian.confluence.plugins.confluence-questions"

reviewId Required

string

Example

1
2
3
curl --request GET \
  --url 'https://marketplace.atlassian.com/rest/2/addons/{addonKey}/reviews/id/{reviewId}/response' \
  --header 'Accept: application/json'

Responses

Content typeValue
application/json

ReviewResponse

Create / update app review response

PUT /rest/2/addons/{addonKey}/reviews/id/{reviewId}/response

Create or update a specific app review response. This resource requires authentication.

Request

Path parameters
addonKey Required

string

The unique identifier for this app, for example "com.atlassian.confluence.plugins.confluence-questions"

reviewId Required

string

Body parameters
_links

SelfLinkOnly

text Required

string

Text of the response to the review

Format: html

Example

1
2
3
4
5
6
7
8
9
10
11
12
13
14
curl --request PUT \
  --url 'https://marketplace.atlassian.com/rest/2/addons/{addonKey}/reviews/id/{reviewId}/response' \
  --user 'email@example.com:<api_token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "_links": {
    "self": {
      "href": "<string>",
      "type": "<string>",
      "title": "<string>"
    }
  },
  "text": "<string>"
}'

Responses

Successfully modified

Delete app review response

DELETE /rest/2/addons/{addonKey}/reviews/id/{reviewId}/response

Delete a specific app review response. This resource requires authentication.

Request

Path parameters
addonKey Required

string

The unique identifier for this app, for example "com.atlassian.confluence.plugins.confluence-questions"

reviewId Required

string

Example

1
2
3
curl --request DELETE \
  --url 'https://marketplace.atlassian.com/rest/2/addons/{addonKey}/reviews/id/{reviewId}/response' \
  --user 'email@example.com:<api_token>'

Responses

Success

Get app review upvote

GET /rest/2/addons/{addonKey}/reviews/id/{reviewId}/up

Returns whether or not the current user has upvoted the specified app review. This resource requires authentication.

Request

Path parameters
addonKey Required

string

The unique identifier for this app, for example "com.atlassian.confluence.plugins.confluence-questions"

reviewId Required