• App versions
  • Applications
  • Apps
  • Assets
  • Categories
  • License types
  • Migrations
  • Privacy and Security
  • Products
  • Promotions (Removed)
  • Reporting
  • Reviews
  • Vendors
Platform
Atlassian Marketplace / Reference / Marketplace REST API

About

Postman Collection
OpenAPI

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

URI structure

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

1
2
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
{
    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
{
    "errors": [
        { "message": "There is a general problem." },
        { "path": "/name", "message": "cannot be longer than 5000 characters" }
    ]
}

Rate this page: