{ "info": { "_postman_id": "a99ad365-7f7d-4492-90b7-8cb2a11dde0a", "name": "Atlassian Marketplace API", "schema": "https://schema.getpostman.com/json/collection/v2.0.0/collection.json" }, "item": [ { "name": "App listing", "description": "Information about Marketplace app listing.\n", "item": [ { "name": "Get Marketplace app listing", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/product-listing/:productId", "query": [], "variable": [ { "key": "productId", "value": "{{productId}}", "description": "The unique identifier for the Marketplace app", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Retrieves listing information for the specified Marketplace app (identified by productId).\nThe response includes core listing metadata such as productId, appKey, developerId,\nappName, communityEnabled, state, approvalStatus, slug, cloudComplianceBoundary,\nand additional fields like summary, tagLine, images, and tags.\n\nThis endpoint has no query parameters.\n", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Update Marketplace app listing", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/product-listing/:productId", "query": [], "variable": [ { "key": "productId", "value": "{{productId}}", "description": "The unique identifier for the Marketplace app", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Update the app level listing information of an existing Marketplace app.\n\nThis endpoint allows developers to update various aspects of their app listing including:\n- App metadata (name, summary, tagline)\n- Visual assets (icon, title logo, banner)\n- Tags for categorization and discovery\n- Developer links and support information\n- Third-party integrations\n- Community settings\n\n**Field Update Restrictions:**\n\n**Non-updatable fields** (read-only for developers):\n- `appKey` - App key cannot be changed after creation\n- `developerId` - Developer Id can not be using using this API. Contact Marketplace support for any help. \n- `images.titleLogoFileId` - Only updatable by marketplace administrators\n- `enrolledPrograms` - Managed by Atlassian marketplace team\n- `approvalStatus` - Not enabled currently using this API. You can use Marketplace UI to update\n- `hostingVisibility` - Only updatable by marketplace administrators\n- `stateAfterApproval` - Can't modify stateAfterApproval if state of app is already PUBLIC or READY_TO_LAUNCH\n- `revision` - System-managed field for conflict resolution\n\n**Partially updatable fields**:\n- `state` - Only transitioning the App Listing from PRIVATE to PUBLIC is available via this API. Other state transitions (e.g., to ARCHIVED, DELETED, READY_TO_LAUNCH) are not supported and must be done through the Marketplace UI.\n\n**Important:** For non-updatable fields, you must pass the current values from the Get Marketplace app listing (`/rest/3/product-listing/{productId}`) API response to avoid validation errors.\n\n**Recommended workflow:**\n1. First, fetch the current app listing using the Get Marketplace app listing (`/rest/3/product-listing/{productId}`) API\n2. Update only the fields you want to change (excluding non-updatable fields listed above)\n3. Keep all other fields the same as the GET response, including fields you don't want to update\n4. Make the PUT request with the modified payload\n\nAll other fields in the request schema are updatable by developers, but should be passed with their current values if you don't intend to change them.\n\n**Usage Examples:**\n- Update app name and summary:\n ```\n PUT /rest/3/product-listing/12345678-1234-1234-1234-123456789abc\n ```\n", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"appKey\": \"com.example.updated.addon\",\n \"developerId\": \"87654321-4321-4321-4321-210987654321\",\n \"appName\": \"Updated Example App\",\n \"summary\": \"This updated addon provides enhanced integration capabilities\",\n \"tagLine\": \"Enhanced workflow automation for modern teams\",\n \"images\": {\n \"iconFileId\": \"a1b2c3d4-5e6f-7a8b-9c0d-1e2f3a4b5c6d\",\n \"titleLogoFileId\": \"f7e8d9c0-b1a2-3456-789a-bcdef0123456\",\n \"bannerFileId\": \"3456789a-bcde-f012-3456-789abcdef012\"\n },\n \"tags\": {\n \"category\": [\n \"productivity\",\n \"workflow\"\n ],\n \"keywords\": [\n \"efficiency\",\n \"teamwork\"\n ]\n },\n \"communityEnabled\": true,\n \"developerLinks\": {\n \"issueTracker\": \"https://updated-issues.example.com/browse/PROJ\",\n \"supportTicketSystem\": \"https://updated-support.example.com/servicedesk/customer/portal/1\",\n \"appStatusPage\": \"https://updated-status.example.com\",\n \"forums\": \"https://updated-community.example.com\",\n \"privacy\": \"https://updated-example.com/privacy-policy\"\n },\n \"thirdPartyIntegrations\": {\n \"googleAnalyticsId\": \"UA-87654321-9\",\n \"googleAnalytics4Id\": \"G-NEWANALYTICS\",\n \"segmentWriteKey\": \"newSegmentKey123\",\n \"jsdEmbeddedDataKey\": \"9f8e7d6c-5b4a-3928-1716-fedcba987654\"\n },\n \"enrolledPrograms\": [\n {\n \"id\": \"bugBountyParticipant\",\n \"name\": \"Bug Bounty Participant\",\n \"hostingType\": \"CLOUD\",\n \"status\": \"APPROVED\"\n },\n {\n \"id\": \"cloudFortified\",\n \"name\": \"Cloud Fortified Program\",\n \"hostingType\": \"CLOUD\",\n \"status\": \"NON_PARTICIPANT\"\n }\n ],\n \"legacyListingDetails\": {\n \"description\": \"Updated documentation and resource links\",\n \"wikiLink\": \"https://wiki.updated-example.com/app-docs\",\n \"sourceLink\": \"https://github.com/updated-example/app-repository\",\n \"buildsLink\": \"https://ci.updated-example.com/jobs/app-build\"\n },\n \"state\": \"PUBLIC\",\n \"approvalStatus\": \"SUBMITTED\",\n \"dataCenterReviewIssueKey\": \"DCHELP-456\",\n \"hostingVisibility\": {\n \"cloud\": \"app\",\n \"server\": \"site\",\n \"dataCenter\": null\n },\n \"stateAfterApproval\": \"READY_TO_LAUNCH\",\n \"marketingLabels\": [\n \"jira-servicedesk\"\n ],\n \"revision\": 16\n}" } }, "response": [] }, { "name": "Get Marketplace app listings for a developer", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/product-listing/developer-space/:developerId", "query": [ { "key": "limit", "value": "{{limit}}", "disabled": true, "description": "Number of items to return per page" }, { "key": "cursor", "value": "{{cursor}}", "disabled": true, "description": "If specified, provides the next set of items starting from this pointer" }, { "key": "includePrivate", "value": "{{includePrivate}}", "disabled": true, "description": "Includes private apps if you are authorised to see them (part of the same developer account)" } ], "variable": [ { "key": "developerId", "value": "{{developerId}}", "description": "The unique identifier for the developer", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Get paginated listing information for all Marketplace apps associated with a developer", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "App software", "description": "APIs for managing app software data and operations.\n", "item": [ { "name": "Get app software mappings for app", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/app-software/app-key/:appKey", "query": [ { "key": "hosting", "value": "{{hosting}}", "disabled": true, "description": "Optional hosting type to filter the results.\n\nAvailable values:\n- `cloud` - Cloud hosted applications\n- `server` - Server hosted applications \n- `datacenter` - Data Center hosted applications\n\n**Default behavior:** If not specified, returns app software for all hosting types.\n" }, { "key": "complianceBoundaries", "value": "{{complianceBoundaries}}", "disabled": true, "description": "Set of compliance boundaries to filter app software (commercial, fedramp_moderate etc)\n\n**Important Notes:**\n- Valid only for cloud hosted apps; will be ignored for other hosting types.\n- Defaults to commercial if parameter value is missing or null for cloud apps.\n- Multiple values can be specified as comma-separated list.\n- Currently, an App Software can only be assigned to a single immutable compliance boundary.\n\nAvailable values:\n- `commercial` - Standard commercial compliance boundary\n- `fedramp_moderate` - FedRAMP moderate compliance boundary\n- `isolated_cloud` - Isolated cloud compliance boundary\n" } ], "variable": [ { "key": "appKey", "value": "{{appKey}}", "description": "The unique app key identifier for the application", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Get mapping of app software id with the corresponding hosting type for the specified app.\n", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get app software versions", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/app-software/:appSoftwareId/versions", "query": [ { "key": "limit", "value": "{{limit}}", "disabled": true, "description": "Maximum number of versions to return per page. **Range:** 1-50 **Default:** 25" }, { "key": "cursor", "value": "{{cursor}}", "disabled": true, "description": "Pagination cursor for next page" }, { "key": "parentSoftwareId", "value": "{{parentSoftwareId}}", "disabled": true, "description": "Filter by parent software Id" }, { "key": "parentSoftwareVersionId", "value": "{{parentSoftwareVersionId}}", "disabled": true, "description": "Filter by build number of parent software version" }, { "key": "afterVersion", "value": "{{afterVersion}}", "disabled": true, "description": "Filter versions after this version number" }, { "key": "paymentModel", "value": "{{paymentModel}}", "disabled": true, "description": "Filter by payment model" }, { "key": "state", "value": "{{state}}", "disabled": true, "description": "Filter by state of app software version" } ], "variable": [ { "key": "id", "value": "{{id}}", "description": "The unique identifier for the app software", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Get a list of versions of the specified app software.\n", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Create a new app software version", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/app-software/:appSoftwareId/versions", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The unique identifier for the app software", "disabled": false } ] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Creates a new version of the specified app software.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"buildNumber\": 1001,\n \"versionNumber\": \"1.0.1\",\n \"compatibilities\": [\n {\n \"parentSoftwareId\": \"jira\",\n \"minBuildNumber\": 80000,\n \"maxBuildNumber\": 90000\n }\n ],\n \"supportedPaymentModel\": \"free\",\n \"frameworkDetails\": {\n \"frameworkId\": \"connect\",\n \"attributes\": {\n \"descriptorId\": \"descriptor-123\",\n \"scopes\": [\n \"READ\",\n \"WRITE\"\n ]\n }\n },\n \"licenseType\": {\n \"id\": \"commercial\"\n },\n \"supported\": true,\n \"beta\": false,\n \"acceptedAgreements\": [\n {\n \"agreementUrl\": \"https://developer.atlassian.com/marketplace/terms\"\n }\n ],\n \"changelog\": {\n \"releaseSummary\": \"Bug fixes and performance improvements\",\n \"releaseNotes\": \"This version includes several bug fixes and performance optimizations\"\n }\n}" } }, "response": [] }, { "name": "Get app software version by build number", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/app-software/:appSoftwareId/versions/:buildNumber", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The unique identifier for the app software", "disabled": false }, { "key": "buildNumber", "value": "{{buildNumber}}", "description": "The build number of the version", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Get the specified version of the specified app software by the version's build number", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Update app software version", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/app-software/:appSoftwareId/versions/:buildNumber", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The unique identifier for the app software", "disabled": false }, { "key": "buildNumber", "value": "{{buildNumber}}", "description": "The build number of the version to update", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Update a specific version of the app’s software.\n", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"buildNumber\": 1001,\n \"versionNumber\": \"1.0.2\",\n \"compatibilities\": [\n {\n \"parentSoftwareId\": \"jira\",\n \"minBuildNumber\": 80000,\n \"maxBuildNumber\": 95000\n }\n ],\n \"supportedPaymentModel\": \"free\",\n \"frameworkDetails\": {\n \"frameworkId\": \"connect\",\n \"attributes\": {\n \"descriptorId\": \"descriptor-123\",\n \"scopes\": [\n \"READ\",\n \"WRITE\",\n \"DELETE\"\n ]\n }\n },\n \"licenseType\": {\n \"id\": \"commercial\"\n },\n \"supported\": true,\n \"beta\": false,\n \"state\": \"active\",\n \"revision\": 2,\n \"acceptedAgreements\": [\n {\n \"agreementUrl\": \"https://developer.atlassian.com/marketplace/terms\"\n }\n ],\n \"changelog\": {\n \"releaseSummary\": \"Updated version with additional fixes\",\n \"releaseNotes\": \"Added new features and fixed critical bugs\"\n }\n}" } }, "response": [] }, { "name": "Get list of access tokens for app software", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/app-software/:id/tokens", "query": [ { "key": "token", "value": "{{token}}", "disabled": true, "description": "Optional token filter to search for specific token" } ], "variable": [ { "key": "id", "value": "{{id}}", "description": "The unique identifier for the app software", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Get list of access tokens associated with a specified app software.\n", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Create access token for app software", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/app-software/:id/tokens", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The unique identifier for the app software", "disabled": false } ] }, "method": "POST", "header": [], "description": "Creates a new access token for the specified app software.\n", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "App version listing", "description": "Information about App version listing.\n", "item": [ { "name": "Get app version listing by build number", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/app-software/:appSoftwareId/versions/:buildNumber/listing", "query": [], "variable": [ { "key": "appSoftwareId", "value": "{{appSoftwareId}}", "description": "The unique identifier for the app software", "disabled": false }, { "key": "buildNumber", "value": "{{buildNumber}}", "description": "The build number of the app software version", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Retrieves listing information for a specific version of the app software identified by build number.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Update app version listing", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/app-software/:appSoftwareId/versions/:buildNumber/listing", "query": [], "variable": [ { "key": "appSoftwareId", "value": "{{appSoftwareId}}", "description": "The unique identifier for the app software", "disabled": false }, { "key": "buildNumber", "value": "{{buildNumber}}", "description": "The build number of the app software version", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Update listing information for the specified app software version.\n\nThis endpoint allows developers to update comprehensive listing information including:\n- Screenshots to showcase the app functionality\n- Highlights to emphasize key features\n- Detailed descriptions and documentation\n- Hero images and promotional videos\n- Deployment instructions for users\n- Developer links and resources\n- Visibility state (PUBLIC/PRIVATE)\n- Approval status\n\n**Approval Status Transition Restrictions:**\n- Approval status transitions are not allowed\n\n**State Transition Restrictions:**\n- Transitioning from `PUBLIC` to `PRIVATE` is not allowed when the version is the only public version of the app\n\n**Recommended workflow:**\n1. First, fetch the current version listing using the Get app version listing (`/rest/3/app-software/{appSoftwareId}/versions/{buildNumber}/listing`) API\n2. Update only the fields you want to change\n3. Keep all other fields the same as the GET response, including fields you don't want to update\n4. For the revision field, pass the same value as received from GET to avoid conflicts\n5. Make the PUT request with the modified payload\n\n**Usage Examples:**\n- Update an existing version listing:\n ```\n PUT /rest/3/app-software/a1b2c3d4-e5f6-7890-abcd-ef1234567890/versions/42/listing\n ```\n", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"screenshots\": [\n {\n \"caption\": \"Updated dashboard interface\",\n \"imageId\": \"f1e2d3c4-b5a6-9c8d-7e6f-123456789abc\"\n },\n {\n \"caption\": \"Enhanced task management board\",\n \"imageId\": \"a9b8c7d6-e5f4-3210-9876-fedcba987654\"\n }\n ],\n \"highlights\": [\n {\n \"title\": \"Advanced Automation\",\n \"caption\": \"Next-level workflow automation\",\n \"summary\": \"Enhanced automation capabilities with machine learning integration for smarter workflows\",\n \"screenshot\": {\n \"caption\": \"ML-powered automation dashboard\",\n \"imageId\": \"e7f8a9b0-c1d2-3e4f-5a6b-789012345678\"\n },\n \"thumbnail\": \"d6e7f8a9-b0c1-2d3e-4f5a-890123456789\"\n },\n {\n \"title\": \"AI-Powered Insights\",\n \"caption\": \"Intelligent data analysis and recommendations\",\n \"summary\": \"Leverage artificial intelligence to gain deeper insights and automated recommendations\",\n \"screenshot\": {\n \"caption\": \"AI insights dashboard\",\n \"imageId\": \"f8a9b0c1-d2e3-4f5a-6b7c-890123456789\"\n },\n \"thumbnail\": \"a0b1c2d3-e4f5-6a7b-8c9d-123456789012\"\n },\n {\n \"title\": \"Enhanced Security\",\n \"caption\": \"Enterprise-grade security features\",\n \"summary\": \"Advanced security protocols and compliance features for enterprise environments\",\n \"screenshot\": {\n \"caption\": \"Security configuration panel\",\n \"imageId\": \"b1c2d3e4-f5a6-7b8c-9d0e-234567890123\"\n },\n \"thumbnail\": \"c2d3e4f5-a6b7-8c9d-0e1f-345678901234\"\n }\n ],\n \"moreDetails\": \"This updated version introduces enhanced project tracking capabilities, improved team collaboration tools, advanced AI-powered insights, and comprehensive reporting features for better project management.\",\n \"heroImage\": \"h1e2r3o4-i5m6-a7g8-e9u0-123456789abc\",\n \"youtubeId\": \"dQw4w9WgXcQ\",\n \"deploymentInstructions\": [\n {\n \"body\": \"Download and install the updated app from the Atlassian Marketplace\",\n \"screenshot\": {\n \"caption\": \"Updated marketplace installation page\",\n \"imageId\": \"a5b6c7d8-e9f0-1a2b-3c4d-567890abcdef\"\n }\n },\n {\n \"body\": \"Run the migration script to upgrade your existing data and configurations\",\n \"screenshot\": {\n \"caption\": \"Migration process interface\",\n \"imageId\": \"d2e3f4a5-b6c7-8d9e-0f1a-234567890123\"\n }\n }\n ],\n \"developerLinks\": {\n \"documentation\": \"https://docs.projectapp.com/v2.1\",\n \"learnMore\": \"https://projectapp.com/features-v2.1\",\n \"eula\": \"https://projectapp.com/license-v2\",\n \"purchase\": \"https://marketplace.atlassian.com/apps/1234567/projectapp\",\n \"bonTermsSupported\": true,\n \"partnerSpecificTerms\": \"Custom partner terms and conditions apply\"\n },\n \"state\": \"PUBLIC\",\n \"approvalStatus\": \"SUBMITTED\",\n \"revision\": 6\n}" } }, "response": [] }, { "name": "Create app version listing", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/app-software/:appSoftwareId/versions/:buildNumber/listing", "query": [], "variable": [ { "key": "appSoftwareId", "value": "{{appSoftwareId}}", "description": "The unique identifier for the app software", "disabled": false }, { "key": "buildNumber", "value": "{{buildNumber}}", "description": "The build number of the app software version", "disabled": false } ] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Create listing information for the specified app software version.\n\nThis endpoint allows developers to create comprehensive listing information including:\n- Screenshots to showcase the app functionality\n- Highlights to emphasize key features\n- Detailed descriptions and documentation\n- Hero images and promotional videos\n- Deployment instructions for users\n- Developer links and resources\n- Visibility state (PUBLIC/PRIVATE)\n\n**Usage Examples:**\n- Create a new version listing:\n ```\n POST /rest/3/app-software/a1b2c3d4-e5f6-7890-abcd-ef1234567890/versions/42/listing\n ```\n", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"screenshots\": [\n {\n \"caption\": \"Main dashboard interface\",\n \"imageId\": \"f1e2d3c4-b5a6-9c8d-7e6f-123456789abc\"\n },\n {\n \"caption\": \"Task management board\",\n \"imageId\": \"a9b8c7d6-e5f4-3210-9876-fedcba987654\"\n }\n ],\n \"highlights\": [\n {\n \"title\": \"Smart Automation\",\n \"caption\": \"Automate your workflow efficiently\",\n \"summary\": \"Reduce manual work with intelligent automation features that learn from your patterns\",\n \"screenshot\": {\n \"caption\": \"Automation setup wizard\",\n \"imageId\": \"e7f8a9b0-c1d2-3e4f-5a6b-789012345678\"\n },\n \"thumbnail\": \"d6e7f8a9-b0c1-2d3e-4f5a-890123456789\"\n },\n {\n \"title\": \"Real-time Analytics\",\n \"caption\": \"Track performance instantly\",\n \"summary\": \"Monitor your team's productivity with live dashboards and insights\",\n \"screenshot\": {\n \"caption\": \"Analytics dashboard\",\n \"imageId\": \"b4c5d6e7-f8a9-0b1c-2d3e-567890123456\"\n },\n \"thumbnail\": \"f0a1b2c3-d4e5-6f7a-8b9c-234567890123\"\n },\n {\n \"title\": \"Seamless Integration\",\n \"caption\": \"Connect with your favorite tools\",\n \"summary\": \"Integrate effortlessly with popular third-party applications and services\",\n \"screenshot\": {\n \"caption\": \"Integration configuration panel\",\n \"imageId\": \"a1b2c3d4-e5f6-7890-abcd-ef1234567890\"\n },\n \"thumbnail\": \"b2c3d4e5-f6a7-8901-bcde-f23456789012\"\n }\n ],\n \"moreDetails\": \"This version introduces enhanced project tracking capabilities, improved team collaboration tools, and advanced reporting features for better project management. Experience seamless integration with your existing workflows.\",\n \"heroImage\": \"h1e2r3o4-i5m6-a7g8-e9u0-123456789abc\",\n \"youtubeId\": \"dQw4w9WgXcQ\",\n \"deploymentInstructions\": [\n {\n \"body\": \"Download and install the app from the Atlassian Marketplace by clicking the 'Get it now' button\",\n \"screenshot\": {\n \"caption\": \"Marketplace installation page\",\n \"imageId\": \"a5b6c7d8-e9f0-1a2b-3c4d-567890abcdef\"\n }\n },\n {\n \"body\": \"Configure your project settings and invite team members to start collaborating\",\n \"screenshot\": {\n \"caption\": \"Initial setup configuration\",\n \"imageId\": \"d2e3f4a5-b6c7-8d9e-0f1a-234567890123\"\n }\n }\n ],\n \"developerLinks\": {\n \"documentation\": \"https://docs.projectapp.com/v2\",\n \"learnMore\": \"https://projectapp.com/features-v2\",\n \"eula\": \"https://projectapp.com/license\",\n \"purchase\": \"https://marketplace.atlassian.com/apps/1234567/projectapp\",\n \"bonTermsSupported\": true,\n \"partnerSpecificTerms\": \"Custom partner terms and conditions apply\"\n },\n \"state\": \"PUBLIC\"\n}" } }, "response": [] }, { "name": "Get app versions listing", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/app-software/:appSoftwareId/listings/all", "query": [ { "key": "limit", "value": "{{limit}}", "disabled": true, "description": "Number of items to return per page" }, { "key": "cursor", "value": "{{cursor}}", "disabled": true, "description": "If specified, provides the next set of items starting from this pointer" }, { "key": "state", "value": "{{state}}", "disabled": true, "description": "If specified, returns only the version listings pertaining to the state. Private version listings will be returned only if the caller is authorised to get that information" }, { "key": "approvalStatus", "value": "{{approvalStatus}}", "disabled": true, "description": "If specified, returns only the version listings pertaining to the approval status. Non-approved version listings will be returned only if the caller is authorised to get that information" } ], "variable": [ { "key": "appSoftwareId", "value": "{{appSoftwareId}}", "description": "The unique identifier for the app software", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Retrieves listing information for multiple versions of the specified app software. Supports pagination via limit and cursor, and optional filtering by state (PUBLIC, PRIVATE) and approvalStatus (APPROVED, SUBMITTED, REJECTED, UNINITIATED).", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Assets", "description": "Information about Assets.\n", "item": [ { "name": "Upload app listing image", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/assets/images/:imageType", "query": [], "variable": [ { "key": "imageType", "value": "{{imageType}}", "description": "Specifies what this image will be used for, which determines the allowable image size", "disabled": false } ] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "multipart/form-data" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Upload an image to Marketplace, so you can use it for an app's listing.\n\nThis endpoint allows developers to upload images that can be used in their Marketplace app listings including:\n- App icons and logos\n- Banner and hero images \n- Screenshots and thumbnails\n- Title logos\n\n**Format**: Valid image formats are .jpg, .png, .gif, .bmp\n\nThe request body is a multipart/form-data with the following key:\n- **file**: Multipart file to be uploaded\n\nThe uploaded image will be processed and stored, returning an ID that can be used in listing APIs.\n\n**Usage Examples:**\n\n```bash\ncurl --request POST \\\n --url 'https://api.atlassian.com/marketplace/rest/3/assets/images/icon' \\\n --user 'email@example.com:' \\\n --header 'Accept: application/json' \\\n --form 'file=@/path/to/your/app-icon.png'\n```\n", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "formdata", "formdata": [ { "key": "file", "description": "Image file to be uploaded (.jpg, .png, .gif, .bmp)", "disabled": false, "type": "file" } ] } }, "response": [] }, { "name": "Upload an app artifact", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/artifacts", "query": [], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "multipart/form-data" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Upload an app artifact so that it can be used by an app software version.\n\nThis endpoint allows developers to upload artifact files that can be used in their app software versions including:\n- JAR files for server apps\n- OBR (OSGi Bundle Repository) files\n- JWB (Jira Web Fragments Bundle) files\n- Connect descriptor JSON files\n\n**Format**: The file should be uploaded as multipart/form-data\n\n**File size restrictions:**\n- Maximum individual artifact size: 250 MB\n- Upload rate limit: ~750 MB per 2-hour period\n- Minimum wait time between uploads: 10 seconds\n\nThe request body is a multipart/form-data with the following key:\n- **file**: Multipart file to be uploaded\n\nThe uploaded artifact will be processed, validated, and stored, returning details that can be used in app software version APIs.\n\n**Usage Examples:**\n\n```bash\ncurl --request POST \\\n --url 'https://api.atlassian.com/rest/3/artifacts' \\\n --user 'email@example.com:' \\\n --header 'Accept: application/json' \\\n --form 'file=@/path/to/your/app.jar'\n```\n", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "formdata", "formdata": [ { "key": "file", "description": "Artifact file to be uploaded (JAR, OBR, JWB, JSON, etc.)", "disabled": false, "type": "file" } ] } }, "response": [] }, { "name": "Fetch and store an artifact from external URL", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/artifacts/fetch", "query": [], "variable": [] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Fetch and store an artifact from an external URL so that it can be used by an app software version.\n\nThis endpoint allows developers to download artifact files from external locations and store them in the Marketplace system. The artifact will be downloaded, validated, and stored, making it available for use in app software versions.\n\n**Supported protocols**: HTTP and HTTPS URLs\n\n**Supported file types**:\n- JAR files for server apps\n- OBR (OSGi Bundle Repository) files\n- JWB (Jira Web Fragments Bundle) files\n- Connect descriptor JSON files\n\n**Usage Examples:**\n\n```bash\ncurl --request POST \\\n --url 'https://api.atlassian.com/rest/3/artifacts/fetch' \\\n --user 'email@example.com:' \\\n --header 'Accept: application/json' \\\n --header 'Content-Type: application/json' \\\n --data '{\"uri\": \"https://example.com/myfile.jar\"}'\n```\n", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"uri\": \"https://example.com/releases/my-app-1.0.0.jar\"\n}" } }, "response": [] }, { "name": "Get artifact details", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/artifacts/:artifactId", "query": [], "variable": [ { "key": "artifactId", "value": "{{artifactId}}", "description": "The unique identifier for the artifact", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns details about a previously uploaded or fetched artifact. \n\nThis endpoint provides comprehensive information about an artifact including:\n- Basic metadata (name, size, content type)\n- Security hash for integrity verification\n- Download links for accessing the artifact content\n- Source information (for remotely fetched artifacts)\n\nDepending on the type of the artifact, it can include additional details like `_links.remote`, `_links.binary` etc.\n\n**Usage Examples:**\n\n```bash\ncurl --request GET \\\n --url 'https://api.atlassian.com/rest/3/artifacts/337c40d8-c903-4e28-8498-7cbc372ba578' \\\n --user 'email@example.com:' \\\n --header 'Accept: application/json'\n```\n", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Developer space", "description": "Developer space is {vendorId}/reporting an entity through which a developer, in the future, will have the ability to manage the entire lifecycle of the app, from development to deployment, and listing on the Atlassian Marketplace.\n", "item": [ { "name": "Get developer space by developer ID", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/developer-space/:developerId", "query": [], "variable": [ { "key": "developerId", "value": "{{developerId}}", "description": "The unique identifier for this developer Space", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the Developer space entity, given its unique identifier, the developer ID.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get developer ID by vendor ID", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/developer-space/vendor/:vendorId", "query": [], "variable": [ { "key": "vendorId", "value": "{{vendorId}}", "description": "The Marketplace vendor ID.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the developer ID, given the vendor ID. The Marketplace vendor is uniquely identified by a numerical identifier. With the introduction of Developer space, a unique ID known as \"developer ID\", represented as a UUID, will replace the vendor ID used in existing APIs.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get catalog account ID by developer ID", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/developer-space/:developerId/catalog-account", "query": [], "variable": [ { "key": "developerId", "value": "{{developerId}}", "description": "The Marketplace developer ID.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns the catalog account ID, given the developer ID.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get listings by developer ID", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/developer-space/:developerId/listings", "query": [], "variable": [ { "key": "developerId", "value": "{{developerId}}", "description": "The unique identifier for this developer space", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns developer listings, given the developer ID. Developer listing refers to the details provided by the developer for their customers that may be displayed through an interface provided by the Atlassian ecosystem.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get team member for developer space", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/developer-space/:developerId/members/:aaid", "query": [], "variable": [ { "key": "developerId", "value": "{{developerId}}", "description": "The unique identifier for this developer space", "disabled": false }, { "key": "aaid", "value": "{{aaid}}", "description": "The AAID for user.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a specific team member associated with a particular Developer space.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Update member details for developer space", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/developer-space/:developerId/members/:aaid", "query": [], "variable": [ { "key": "developerId", "value": "{{developerId}}", "description": "The unique identifier for this developer space", "disabled": false }, { "key": "aaid", "value": "{{aaid}}", "description": "The AAID for user.", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Updates the roles and contact categories a particular member has in association with a particular Developer space. Roles are assigned to members on the basis of the permissions they have, and Atlassian support can reach out to them for critical communications based on the contact category assigned to them.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "" } }, "response": [] }, { "name": "Add user to developer space", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/developer-space/:developerId/members/:aaid", "query": [], "variable": [ { "key": "developerId", "value": "{{developerId}}", "description": "The unique identifier for this developer space", "disabled": false }, { "key": "aaid", "value": "{{aaid}}", "description": "The AAID for user.", "disabled": false } ] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Adds a user as a team member to a specific Developer space.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "" } }, "response": [] }, { "name": "Remove user as a team member", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/developer-space/:developerId/members/:aaid", "query": [], "variable": [ { "key": "developerId", "value": "{{developerId}}", "description": "The unique identifier for this developer space", "disabled": false }, { "key": "aaid", "value": "{{aaid}}", "description": "The AAID for user.", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Removes the user from the developer’s list of team members.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get developer’s team members", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/developer-space/:developerId/members?limit=:limit&&cursor=:cursor", "query": [ { "key": "limit", "value": "{{limit}}", "disabled": true, "description": "If specified, limits the result set to this number of items. The maximum limit is 10." }, { "key": "cursor", "value": "{{cursor}}", "disabled": true, "description": "Cursor indicates where the page results should start from." } ], "variable": [ { "key": "developerId", "value": "{{developerId}}", "description": "The unique identifier for this developer space", "disabled": false } ] }, "method": "GET", "header": [], "description": "Returns the list of developer’s team members.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Migrations", "description": "APIs for managing app migration compatibility information.\n", "item": [ { "name": "Get migration info by product ID", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/cloud-migration-compatibility/products/:productId", "query": [], "variable": [ { "key": "productId", "value": "{{productId}}", "description": "The unique identifier for this product", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Get migration info about the Server/DC version for this product. All\nfields except addonName, addonKey, productId and developerId are optional and may not exist.\n" }, "response": [] }, { "name": "Create migration info by product ID", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/cloud-migration-compatibility/products/:productId", "query": [], "variable": [ { "key": "productId", "value": "{{productId}}", "description": "The unique identifier for this product", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Create product migration information for consumption. All fields are\noptional except developerId and addonName.\n", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"developerId\": \"87654321-4321-4321-4321-210987654321\",\n \"addonName\": \"Calendar for Jira\",\n \"cloudAddonKey\": \"com.doitb.calendar.jira.cloud\",\n \"cloudVersionAvailability\": \"PUBLIC\",\n \"cloudVersionDevelopmentRoadmap\": \"https://docs.doitb.com/calendar-for-jira/roadmap\",\n \"featureDifferenceDocumentation\": \"https://docs.doitb.com/calendar-for-jira/cloud-vs-server\",\n \"migrationDocumentation\": \"https://docs.doitb.com/calendar-for-jira/migrating-from-server-to-cloud\",\n \"cloudMigrationAssistantCompatibility\": \"4.5.0\",\n \"migrationPath\": \"AUTOMATED\",\n \"isDualLicenseOptedIn\": true,\n \"migrationRoadmapTicketLink\": \"https://jira.atlassian.com/browse/CALENDAR-5678\",\n \"cloudMigrationAssistantCompatibilityRanges\": [\n {\n \"start\": \"4.0.0\",\n \"end\": \"4.5.0\"\n }\n ]\n}" } }, "response": [] }, { "name": "Update migration info by product ID", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/cloud-migration-compatibility/products/:productId", "query": [], "variable": [ { "key": "productId", "value": "{{productId}}", "description": "The unique identifier for this product", "disabled": false } ] }, "method": "PATCH", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json-patch+json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Update migration information for this product. All fields except addonName,\naddonKey, productId and developerId are optional and may not exist.\n\n**Common Use Case**: Update migration information for an app moving from UNKNOWN to AUTOMATED status.\nThis typically involves setting the migration path, adding compatibility information, and providing \ndocumentation links for users.\n\nUse JSON Patch operations to update specific fields. Supported operations are:\n- `replace`: Update an existing field value\n- `add`: Add a new field or update an existing one\n- `remove`: Remove a field (where applicable)\n\n**Example Request:**\n```json\n[\n {\n \"op\": \"replace\",\n \"path\": \"/migrationPath\",\n \"value\": \"AUTOMATED\"\n },\n {\n \"op\": \"add\",\n \"path\": \"/cloudMigrationAssistantCompatibility\",\n \"value\": \"8.6.5\"\n },\n {\n \"op\": \"replace\",\n \"path\": \"/cloudVersionAvailability\",\n \"value\": \"PUBLIC\"\n },\n {\n \"op\": \"add\",\n \"path\": \"/migrationDocumentation\",\n \"value\": \"https://documentation.mindville.com/display/ICE/Migration+Guide\"\n },\n {\n \"op\": \"add\",\n \"path\": \"/migrationRoadmapTicketLink\",\n \"value\": \"https://jira.atlassian.com/browse/INSIGHT-9999\"\n },\n {\n \"op\": \"add\",\n \"path\": \"/isDualLicenseOptedIn\",\n \"value\": true\n }\n]\n```\n", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "[\n {\n \"op\": \"replace\",\n \"path\": \"/migrationPath\",\n \"value\": \"AUTOMATED\"\n },\n {\n \"op\": \"add\",\n \"path\": \"/cloudMigrationAssistantCompatibility\",\n \"value\": \"8.6.5\"\n },\n {\n \"op\": \"replace\",\n \"path\": \"/cloudVersionAvailability\",\n \"value\": \"PUBLIC\"\n },\n {\n \"op\": \"add\",\n \"path\": \"/migrationDocumentation\",\n \"value\": \"https://documentation.mindville.com/display/ICE/Migration+Guide\"\n },\n {\n \"op\": \"add\",\n \"path\": \"/migrationRoadmapTicketLink\",\n \"value\": \"https://jira.atlassian.com/browse/INSIGHT-9999\"\n },\n {\n \"op\": \"add\",\n \"path\": \"/isDualLicenseOptedIn\",\n \"value\": true\n }\n]" } }, "response": [] } ] }, { "name": "Parent software", "description": "APIs for managing parent software information in the Marketplace. These endpoints allow developers to retrieve details about Atlassian products (like Jira, Confluence) and their versions, including build numbers, version numbers, hosting types, and framework information.\n", "item": [ { "name": "Get list of parent software", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/parent-software", "query": [ { "key": "limit", "value": "{{limit}}", "disabled": true, "description": "Maximum number of parent software to return (1-50, default 25)" }, { "key": "cursor", "value": "{{cursor}}", "disabled": true, "description": "Pagination cursor for next page" } ], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Get a list of parent software.\n", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get parent software", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/parent-software/:parentSoftwareId", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The unique identifier for the parent software", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Get a specified parent software.\n", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get parent software versions", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/parent-software/:parentSoftwareId/versions", "query": [ { "key": "limit", "value": "{{limit}}", "disabled": true, "description": "Maximum number of versions to return (1-50, default 25)" }, { "key": "cursor", "value": "{{cursor}}", "disabled": true, "description": "Pagination cursor for next page" } ], "variable": [ { "key": "id", "value": "{{id}}", "description": "The unique identifier for the parent software", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Get a list of versions for the specified parent software.\n", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get parent software version by build number", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/parent-software/:parentSoftwareId/versions/build/:buildNumber", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The unique identifier for the parent software", "disabled": false }, { "key": "buildNumber", "value": "{{buildNumber}}", "description": "The build number of the parent software version", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Get the specified version of the specified parent software, by the version’s build number.\n", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get parent software version by version number", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/parent-software/:id/versions/number/:versionNumber", "query": [], "variable": [ { "key": "id", "value": "{{id}}", "description": "The unique identifier for the parent software", "disabled": false }, { "key": "versionNumber", "value": "{{versionNumber}}", "description": "The version number of the parent software version", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Get the specified version of the specified parent software, by the version’s version number.\n", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Privacy and security", "description": "APIs for managing privacy and security information for Marketplace applications. These endpoints allow developers to create, update, and publish detailed privacy and security policies for their apps, including data handling practices, security measures, third-party integrations, and compliance information. The APIs support both draft and live versions, enabling careful review and staged deployment of policy updates.\n", "item": [ { "name": "Get app privacy and security information", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/privacy-and-security/products/:productId", "query": [ { "key": "state", "value": "{{state}}", "disabled": true, "description": "Specifies the version of Privacy and security information to\nbe fetched. Possible values are \"live\" or \"draft\". For partners with manage\napp permissions, if a draft version exists then the default value will be\n\"draft\", or else the default value will be \"live\".\n" } ], "variable": [ { "key": "productId", "value": "{{productId}}", "description": "The unique identifier for this app", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Get the privacy and security info for the specified app. This resource\nrequires authentication for fetching \"draft\" version of privacy and security\ninformation.\n\n**Usage Examples:**\n- Get live version:\n ```\n GET /rest/3/privacy-and-security/products/12345678-1234-1234-1234-123456789abc\n ```\n- Get draft version:\n ```\n GET /rest/3/privacy-and-security/products/12345678-1234-1234-1234-123456789abc?state=draft\n ```\n", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Create/Update app draft version of privacy and security info", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/privacy-and-security/products/:productId", "query": [], "variable": [ { "key": "productId", "value": "{{productId}}", "description": "The unique identifier for this app", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Create/Update draft version of privacy and security info for the\nspecified app. Any update will create a new draft version. This resource requires\nauthentication.\n\n**Usage Examples:**\n- Update privacy and security info:\n ```\n PUT /rest/3/privacy-and-security/products/12345678-1234-1234-1234-123456789abc\n ```\n", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "{\n \"commonCloud\": {\n \"dataAccessAndStorage\": {\n \"dataAccess\": {\n \"dataAccessDescription\": \"This app accesses user data to provide core functionality\",\n \"dataAccessTypes\": [\n \"USER_PROFILE\",\n \"CONTENT\"\n ],\n \"dataAccessScope\": \"USER_LEVEL\"\n },\n \"dataStorage\": {\n \"dataStorageDescription\": \"User data is stored securely in our cloud infrastructure\",\n \"dataRetentionPeriod\": \"90_DAYS\",\n \"dataDeletionPolicy\": \"AUTOMATIC\"\n }\n },\n \"thirdPartyInformation\": {\n \"thirdPartyServices\": [\n \"AWS\",\n \"Google Analytics\"\n ],\n \"dataSharing\": false,\n \"dataSharingDescription\": \"No user data is shared with third parties\"\n },\n \"logDetails\": {\n \"loggingEnabled\": true,\n \"logRetention\": \"30_DAYS\",\n \"sensitiveDataLogging\": false\n },\n \"dataResidency\": {\n \"dataResidencyRegions\": [\n \"US\",\n \"EU\"\n ],\n \"dataResidencyCompliance\": true\n },\n \"dataRetention\": {\n \"retentionPeriod\": \"90_DAYS\",\n \"deletionProcess\": \"AUTOMATIC\",\n \"backupRetention\": \"30_DAYS\"\n },\n \"privacy\": {\n \"privacyEnhancingTechniques\": {\n \"dataMinimization\": true,\n \"anonymization\": false,\n \"pseudonymization\": true\n },\n \"gdpr\": {\n \"gdprCompliant\": true,\n \"dataProcessingBasis\": \"CONSENT\",\n \"userRights\": [\n \"ACCESS\",\n \"RECTIFICATION\",\n \"ERASURE\"\n ]\n },\n \"ccpa\": {\n \"ccpaCompliant\": true,\n \"dataCategories\": [\n \"PERSONAL\",\n \"IDENTIFIERS\"\n ]\n },\n \"dataProcessingAgreement\": {\n \"dpaAvailable\": true,\n \"dpaUrl\": \"https://example.com/dpa\"\n }\n },\n \"security\": {\n \"securityContact\": \"security@example.com\",\n \"publicSecurityPoliciesLink\": \"https://example.com/security\",\n \"caiq\": {\n \"isCAIQCompleted\": true,\n \"CAIQLiteLink\": \"https://example.com/caiq\"\n },\n \"isDiskEncryptionSupported\": true,\n \"hasCompliantCertifications\": true,\n \"compliantCertifications\": [\n \"SOC2\",\n \"ISO27001\"\n ]\n }\n }\n}" } }, "response": [] }, { "name": "Delete draft version of privacy and security info", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/privacy-and-security/products/:productId", "query": [], "variable": [ { "key": "productId", "value": "{{productId}}", "description": "The unique identifier for this app", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Discards the draft version of privacy and security information\nfor the specified app. This resource requires authentication.\n\n**Usage Examples:**\n- Delete draft privacy and security info:\n ```\n DELETE /rest/3/privacy-and-security/products/12345678-1234-1234-1234-123456789abc\n ```\n", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Publish draft version of privacy and security info", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/privacy-and-security/products/:productId/publish", "query": [], "variable": [ { "key": "productId", "value": "{{productId}}", "description": "The unique identifier for this app", "disabled": false } ] }, "method": "POST", "header": [], "description": "Publishes the draft version of privacy and security information for the\nspecified app. This will make the draft version live and replace the current\nlive version. This resource requires authentication.\n\n**Usage Examples:**\n- Publish draft privacy and security info:\n ```\n POST /rest/3/privacy-and-security/products/12345678-1234-1234-1234-123456789abc/publish\n ```\n", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] }, { "name": "Reporting", "description": "Information about vendor reporting.\n", "item": [ { "name": "Get reporting links", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/reporting/developer-space/:developerId/", "query": [], "variable": [ { "key": "developerId", "value": "{{developerId}}", "description": "The unique identifier for this developer space.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Get links to permitted vendor reporting resources.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get feedback", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/reporting/developer-space/:developerId/feedback/details", "query": [ { "key": "type", "value": "{{type}}", "disabled": true, "description": "Restrict feedback to the specified type" }, { "key": "anonymous", "value": "{{anonymous}}", "disabled": true, "description": "Restrict feedback to feedback that is either anonymous or by a known user" }, { "key": "reason", "value": "{{reason}}", "disabled": true, "description": "Restrict feedback to the specified reason" }, { "key": "productId", "value": "{{productId}}", "disabled": true, "description": "If specified, restricts the query to values for apps with the specified keys" }, { "key": "hosting", "value": "{{hosting}}", "disabled": true, "description": "Restricts the query to values for these hosting types" }, { "key": "appEdition", "value": "{{appEdition}}", "disabled": true, "description": "Restricts the query to these app edition types" }, { "key": "startDate", "value": "{{startDate}}", "disabled": true, "description": "Starting date for the query" }, { "key": "endDate", "value": "{{endDate}}", "disabled": true, "description": "Ending date for the query" }, { "key": "text", "value": "{{text}}", "disabled": true, "description": "Text to search for in the reporter details (license id, email address, appEntitlementId, appEntitlementNumber, cloudID and the optional message)" }, { "key": "offset", "value": "{{offset}}", "disabled": true, "description": "If specified, skips ahead by this number of items" }, { "key": "limit", "value": "{{limit}}", "disabled": true, "description": "If specified, limits the result set to this number of items. Max limit is 50" } ], "variable": [ { "key": "developerId", "value": "{{developerId}}", "description": "The unique identifier for this developer space.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Get a list of feedback for the specified vendor's apps.\n\nThis resource requires authentication.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get aggregated evaluations", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/reporting/developer-space/:developerId/evaluations/:metric", "query": [ { "key": "aggregation", "value": "{{aggregation}}", "disabled": true, "description": "The time aggregation" }, { "key": "startDate", "value": "{{startDate}}", "disabled": true, "description": "Starting date for the query" }, { "key": "endDate", "value": "{{endDate}}", "disabled": true, "description": "Ending date for the query" } ], "variable": [ { "key": "developerId", "value": "{{developerId}}", "description": "The unique identifier for this developer space.", "disabled": false }, { "key": "metric", "value": "{{metric}}", "description": "The unique identifier for this evaluation metric", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Get aggregated evaluations for the specified vendor, aggregated by the specified metric.\nEvaluations can be aggregated by hosting, region, and more.\nThis resource requires authentication.\n\n**Note:** The API response example is by `hosting`. \nTo retrieve data by specific criteria, use the following endpoints:\n\n**country**: `/rest/3/reporting/developer-space/{developerId}/evaluations/country`\n\n*Sample reponse*\n```json\nRequest\n{\n \"query\": {\n \"href\": \"/rest/3/reporting/developer-space/{developerId}/evaluations/country{?aggregation,startDate,endDate}\",\n \"templated\": true\n },\n \"total\": {\n \"name\": \"All apps\",\n \"series\": [\n {\n \"name\": \"Albania\",\n \"elements\": [\n {\"date\": \"2025-02-16\", \"count\": 4}\n ]\n }\n ]\n },\n \"addons\": [\n {\n \"addonKey\": \"app-key-1\",\n \"productId\": \"acd011b1-1111-45bc-902a-247046a11111\",\n \"name\": \"App 1\",\n \"series\": [\n {\n \"name\": \"Albania\",\n \"elements\": [\n {\"date\": \"2025-02-16\", \"count\": 2}\n ]\n }\n ]\n }\n ]\n}\n```\n\n**partner**: `/rest/3/reporting/developer-space/{developerId}/evaluations/partner`\n\n*Sample reponse*\n```json\n {\n \"query\": {\n \"href\": \"/rest/3/reporting/developer-space/{developerId}/evaluations/partner{?aggregation,startDate,endDate}\",\n \"templated\": true\n },\n \"total\": {\n \"name\": \"All apps\",\n \"series\": [\n {\n \"name\": \"Partner 1\",\n \"elements\": [\n {\"date\": \"2025-02-16\", \"count\": 4}\n ]\n }\n ]\n },\n \"addons\": [\n {\n \"addonKey\": \"app-key-1\",\n \"productId\": \"acd011b1-1111-45bc-902a-247046a11111\"\n \"name\": \"App 1\",\n \"series\": [\n {\n \"name\": \"Partner 1\",\n \"elements\": [\n {\"date\": \"2025-02-16\", \"count\": 2}\n ]\n }\n ]\n }\n ]\n}\n```\n \n**region**: `/rest/3/reporting/developer-space/{developerId}/evaluations/region`\n\n*Sample reponse* \n```json\n {\n \"query\": {\n \"href\": \"/rest/3/reporting/developer-space/{developerId}/evaluations/region{?aggregation,startDate,endDate}\",\n \"templated\": true\n },\n \"total\": {\n \"name\": \"All apps\",\n \"series\": [\n {\n \"name\": \"APAC\",\n \"elements\": [\n {\"date\": \"2025-02-16\", \"count\": 4}\n ]\n }\n ]\n },\n \"addons\": [\n {\n \"addonKey\": \"app-key-1\",\n \"productId\": \"acd011b1-1111-45bc-902a-247046a11111\"\n \"name\": \"App 1\",\n \"series\": [\n {\n \"name\": \"APAC\",\n \"elements\": [\n {\"date\": \"2025-02-16\", \"count\": 2}\n ]\n }\n ]\n }\n ]\n}\n```", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get aggregated feedback", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/reporting/developer-space/:developerId/feedback/metrics/:metric", "query": [ { "key": "aggregation", "value": "{{aggregation}}", "disabled": true, "description": "The time aggregation" }, { "key": "startDate", "value": "{{startDate}}", "disabled": true, "description": "Starting date for the query" }, { "key": "endDate", "value": "{{endDate}}", "disabled": true, "description": "Ending date for the query" } ], "variable": [ { "key": "developerId", "value": "{{developerId}}", "description": "The unique identifier for this developer space.", "disabled": false }, { "key": "metric", "value": "{{metric}}", "description": "The unique identifier for this developer space. feedback metric", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Get aggregated feedback for the specified vendor, aggregated by the specified metric.\nFeedback can be aggregated by `type` and `reason`.\nThis resource requires authentication.\n\n**Note:** The API response example is based on feedback aggregated by `reason`.\n\nTo retrieve data by `type`, use the following endpoint:\n\n`/rest/3/reporting/developer-space/{developerId}/feedback/metrics/type`\n\n*Sample reponse*\n```json\n \"query\": {\n \"href\": \"/rest/3/reporting/developer-space/{developerId}/feedback/metrics/type{?aggregation,startDate,endDate}\",\n \"templated\": true\n }\n },\n \"total\": {\n \"name\": \"All apps\",\n \"series\": [\n {\n \"name\": \"unsubscribe\",\n \"elements\": [\n {\"date\": \"2025-02-16\", \"count\": 4}\n ]\n }\n ]\n },\n \"addons\": [\n {\n \"addonKey\": \"app-key-1\",\n \"productId\": \"acd011b1-1111-45bc-902a-247046a11111\"\n \"name\": \"App 1\",\n \"series\": [\n {\n \"name\": \"unsubscribe\",\n \"elements\": [\n {\"date\": \"2025-02-16\", \"count\": 2}\n ]\n }\n ]\n }\n ]\n}\n```", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get licenses", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/reporting/developer-space/:developerId/licenses", "query": [ { "key": "productId", "value": "{{productId}}", "disabled": true, "description": "If specified, restricts the query to values for apps with the specified keys" }, { "key": "startDate", "value": "{{startDate}}", "disabled": true, "description": "Starting date for the query" }, { "key": "endDate", "value": "{{endDate}}", "disabled": true, "description": "Ending date for the query" }, { "key": "text", "value": "{{text}}", "disabled": true, "description": "Text to search for in license fields (license id, customer information and partner information)" }, { "key": "tier", "value": "{{tier}}", "disabled": true, "description": "Restricts the query to values for these user/edition tiers" }, { "key": "dateType", "value": "{{dateType}}", "disabled": true, "description": "The date field against which filters will be applied" }, { "key": "licenseType", "value": "{{licenseType}}", "disabled": true, "description": "If specified, restricts the query to values with the provided license type." }, { "key": "partnerType", "value": "{{partnerType}}", "disabled": true, "description": "Specifies whether to query only direct sales, expert sales, or reseller sales" }, { "key": "hosting", "value": "{{hosting}}", "disabled": true, "description": "Restricts the query to values for these hosting types" }, { "key": "cloudComplianceBoundaries", "value": "{{cloudComplianceBoundaries}}", "disabled": true, "description": "Restricts the query to values for these cloud compliance boundaries types, with default value as \"commercial\". This parameter will be ignored for non-cloud apps." }, { "key": "appEdition", "value": "{{appEdition}}", "disabled": true, "description": "Restricts the query to these app edition types" }, { "key": "status", "value": "{{status}}", "disabled": true, "description": "If specified, restricts the query to values with the provided status" }, { "key": "withAttribution", "value": "{{withAttribution}}", "disabled": true, "description": "This field is deprecated. Please use withDataInsights to obtain additional data insights. If specified, retrieve marketing funnel attribution data" }, { "key": "withDataInsights", "value": "{{withDataInsights}}", "disabled": true, "description": "If specified, retrieve additional data insights - marketing funnel attribution, evaluation opportunity size and evaluation to sale insights. This will only be applicable if startDate is after July, 2018." }, { "key": "includeAtlassianLicenses", "value": "{{includeAtlassianLicenses}}", "disabled": true, "description": "If true, include internal Atlassian licenses in the report" }, { "key": "lastUpdated", "value": "{{lastUpdated}}", "disabled": true, "description": "If specified, restricts the query to values updated on or after the specified date" }, { "key": "showLifeTimeFreeLicenses", "value": "{{showLifeTimeFreeLicenses}}", "disabled": true, "description": "If specified, determines whether to return only lifetime free apps data or paid apps data/data of free apps which were once paid. If the value is passed as true, only returns lifetime free apps data. If the value is passed as false or query param is not passed at all, return paid apps data or the data of apps that were once paid but free now." }, { "key": "sortBy", "value": "{{sortBy}}", "disabled": true, "description": "If specified, determines the license sort order" }, { "key": "order", "value": "{{order}}", "disabled": true, "description": "Determines whether values are sorted in ascending or descending order" }, { "key": "offset", "value": "{{offset}}", "disabled": true, "description": "If specified, skips ahead by this number of items" }, { "key": "limit", "value": "{{limit}}", "disabled": true, "description": "If specified, limits the result set to this number of items. Max limit is 50" } ], "variable": [ { "key": "developerId", "value": "{{developerId}}", "description": "The unique identifier for this developer space.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Get a list of licenses for the specified vendor's apps.\nThis resource requires authentication.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Export licenses", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/reporting/developer-space/:developerId/licenses/export", "query": [ { "key": "productId", "value": "{{productId}}", "disabled": true, "description": "If specified, restricts the query to values for apps with the specified keys" }, { "key": "startDate", "value": "{{startDate}}", "disabled": true, "description": "Starting date for the query" }, { "key": "endDate", "value": "{{endDate}}", "disabled": true, "description": "Ending date for the query" }, { "key": "text", "value": "{{text}}", "disabled": true, "description": "Text to search for in license fields (license id, customer information and partner information)" }, { "key": "tier", "value": "{{tier}}", "disabled": true, "description": "Restricts the query to values for these user/edition tiers" }, { "key": "dateType", "value": "{{dateType}}", "disabled": true, "description": "The date field against which filters will be applied" }, { "key": "licenseType", "value": "{{licenseType}}", "disabled": true, "description": "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" }, { "key": "partnerType", "value": "{{partnerType}}", "disabled": true, "description": "Specifies whether to query only direct sales, expert sales, or reseller sales" }, { "key": "hosting", "value": "{{hosting}}", "disabled": true, "description": "Restricts the query to values for these hosting types" }, { "key": "cloudComplianceBoundaries", "value": "{{cloudComplianceBoundaries}}", "disabled": true, "description": "Restricts the query to values for these cloud compliance boundaries types, with default value as \"commercial\". This parameter will be ignored for non-cloud apps." }, { "key": "appEdition", "value": "{{appEdition}}", "disabled": true, "description": "Restricts the query to these app edition types" }, { "key": "status", "value": "{{status}}", "disabled": true, "description": "If specified, restricts the query to values with the provided status" }, { "key": "withAttribution", "value": "{{withAttribution}}", "disabled": true, "description": "This field is deprecated. Please use withDataInsights to obtain additional data insights. If specified, retrieve marketing funnel attribution data" }, { "key": "withDataInsights", "value": "{{withDataInsights}}", "disabled": true, "description": "If specified, retrieve additional data insights - marketing funnel attribution, evaluation opportunity size and evaluation to sale insights. This will only be applicable if startDate is after July, 2018." }, { "key": "includeAtlassianLicenses", "value": "{{includeAtlassianLicenses}}", "disabled": true, "description": "If true, include internal Atlassian licenses in the report" }, { "key": "lastUpdated", "value": "{{lastUpdated}}", "disabled": true, "description": "If specified, restricts the query to values updated on or after the specified date" }, { "key": "showLifeTimeFreeLicenses", "value": "{{showLifeTimeFreeLicenses}}", "disabled": true, "description": "If specified, determines whether to return only lifetime free apps data or paid apps data/data of free apps which were once paid. If the value is passed as true, only returns lifetime free apps data. If the value is passed as false or query param is not passed at all, return paid apps data or the data of apps that were once paid but free now." }, { "key": "sortBy", "value": "{{sortBy}}", "disabled": true, "description": "If specified, determines the license sort order" }, { "key": "order", "value": "{{order}}", "disabled": true, "description": "Determines whether values are sorted in ascending or descending order" }, { "key": "accept", "value": "{{accept}}", "disabled": true, "description": "Specifies the response format. If unspecified, the 'Accept' header will be used." } ], "variable": [ { "key": "developerId", "value": "{{developerId}}", "description": "The unique identifier for this developer space.", "disabled": false } ] }, "method": "GET", "header": [], "description": "Export all licenses, matching the specified filters, for the specified vendor's apps.\nThis resource requires authentication.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Initiate Async Export licenses", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/reporting/developer-space/:developerId/licenses/async/export", "query": [ { "key": "productId", "value": "{{productId}}", "disabled": true, "description": "If specified, restricts the query to values for apps with the specified keys" }, { "key": "startDate", "value": "{{startDate}}", "disabled": true, "description": "Starting date for the query" }, { "key": "endDate", "value": "{{endDate}}", "disabled": true, "description": "Ending date for the query" }, { "key": "text", "value": "{{text}}", "disabled": true, "description": "Text to search for in license fields (license id, customer information and partner information)" }, { "key": "tier", "value": "{{tier}}", "disabled": true, "description": "Restricts the query to values for these user/edition tiers" }, { "key": "dateType", "value": "{{dateType}}", "disabled": true, "description": "The date field against which filters will be applied" }, { "key": "licenseType", "value": "{{licenseType}}", "disabled": true, "description": "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" }, { "key": "partnerType", "value": "{{partnerType}}", "disabled": true, "description": "Specifies whether to query only direct sales, expert sales, or reseller sales" }, { "key": "hosting", "value": "{{hosting}}", "disabled": true, "description": "Restricts the query to values for these hosting types" }, { "key": "cloudComplianceBoundaries", "value": "{{cloudComplianceBoundaries}}", "disabled": true, "description": "Restricts the query to values for these cloud compliance boundaries types, with default value as \"commercial\". This parameter will be ignored for non-cloud apps." }, { "key": "appEdition", "value": "{{appEdition}}", "disabled": true, "description": "Restricts the query to these app edition types" }, { "key": "status", "value": "{{status}}", "disabled": true, "description": "If specified, restricts the query to values with the provided status" }, { "key": "withAttribution", "value": "{{withAttribution}}", "disabled": true, "description": "This field is deprecated. Please use withDataInsights to obtain additional data insights. If specified, retrieve marketing funnel attribution data" }, { "key": "withDataInsights", "value": "{{withDataInsights}}", "disabled": true, "description": "If specified, retrieve additional data insights - marketing funnel attribution, evaluation opportunity size and evaluation to sale insights. This will only be applicable if startDate is after July, 2018." }, { "key": "includeAtlassianLicenses", "value": "{{includeAtlassianLicenses}}", "disabled": true, "description": "If true, include internal Atlassian licenses in the report" }, { "key": "lastUpdated", "value": "{{lastUpdated}}", "disabled": true, "description": "If specified, restricts the query to values updated on or after the specified date" }, { "key": "showLifeTimeFreeLicenses", "value": "{{showLifeTimeFreeLicenses}}", "disabled": true, "description": "If specified, determines whether to return only lifetime free apps data or paid apps data/data of free apps which were once paid. If the value is passed as true, only returns lifetime free apps data. If the value is passed as false or query param is not passed at all, return paid apps data or the data of apps that were once paid but free now." }, { "key": "sortBy", "value": "{{sortBy}}", "disabled": true, "description": "If specified, determines the license sort order" }, { "key": "order", "value": "{{order}}", "disabled": true, "description": "Determines whether values are sorted in ascending or descending order" }, { "key": "accept", "value": "{{accept}}", "disabled": true, "description": "Specifies the response format. If unspecified, the 'Accept' header will be used." } ], "variable": [ { "key": "developerId", "value": "{{developerId}}", "description": "The unique identifier for this developer space.", "disabled": false } ] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Initiate a POST request to export all licenses that match the specified filters for the vendor's apps. This resource requires authentication.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get status Async Export licenses", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/reporting/developer-space/:developerId/licenses/async/export/:exportId/status", "query": [], "variable": [ { "key": "developerId", "value": "{{developerId}}", "description": "The unique identifier for this developer space.", "disabled": false }, { "key": "exportId", "value": "{{exportId}}", "description": "Unique export id for license export", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Get status for async export license request", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Download Async Export licenses", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/reporting/developer-space/:developerId/licenses/async/export/:exportId", "query": [], "variable": [ { "key": "developerId", "value": "{{developerId}}", "description": "The unique identifier for this developer space.", "disabled": false }, { "key": "exportId", "value": "{{exportId}}", "description": "Unique export id for transaction export", "disabled": false } ] }, "method": "GET", "header": [], "description": "Download async export licenses", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Initiate Async Export marketing attribution", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/reporting/developer-space/:developerId/marketing-attribution/async/export", "query": [ { "key": "productId", "value": "{{productId}}", "disabled": true, "description": "If specified, restricts the query to values for apps with the specified keys" }, { "key": "startDate", "value": "{{startDate}}", "disabled": true, "description": "Starting date for the query (based on eventTimestamp field)" }, { "key": "endDate", "value": "{{endDate}}", "disabled": true, "description": "Ending date for the query (based on eventTimestamp field)" }, { "key": "text", "value": "{{text}}", "disabled": true, "description": "Text to search for in marketing attribution fields (license id, channel and campaign name)" }, { "key": "accept", "value": "{{accept}}", "disabled": true, "description": "Specifies the response format. If unspecified, the 'Accept' header will be used." } ], "variable": [ { "key": "developerId", "value": "{{developerId}}", "description": "The unique identifier for this developer space.", "disabled": false } ] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Initiate a POST request to export all marketing attribution data that matches the specified filters for the vendor's apps. The data will include customer activities on app related pages in the last 30 days before start of evaluation. This resource requires authentication.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get status Async Export marketing attribution", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/reporting/developer-space/:developerId/async/export/:exportId/status", "query": [], "variable": [ { "key": "developerId", "value": "{{developerId}}", "description": "The unique identifier for this developer space.", "disabled": false }, { "key": "exportId", "value": "{{exportId}}", "description": "Unique export id for marketing attribution export", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Get status for async export marketing attribution request.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Download Async Export marketing attribution", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/reporting/developer-space/:developerId/async/export/:exportId", "query": [], "variable": [ { "key": "developerId", "value": "{{developerId}}", "description": "The unique identifier for this developer space.", "disabled": false }, { "key": "exportId", "value": "{{exportId}}", "description": "Unique export id for marketing attribution export", "disabled": false } ] }, "method": "GET", "header": [], "description": "Download async export marketing attribution.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get Cloud churn", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/reporting/developer-space/:developerId/sales/metrics/churn", "query": [ { "key": "aggregation", "value": "{{aggregation}}", "disabled": true, "description": "The time aggregation" }, { "key": "startDate", "value": "{{startDate}}", "disabled": true, "description": "Starting date for the query" }, { "key": "endDate", "value": "{{endDate}}", "disabled": true, "description": "Ending date for the query" } ], "variable": [ { "key": "developerId", "value": "{{developerId}}", "description": "The unique identifier for this developer space.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Get a list of Cloud churn events for the specified vendor's apps.\nFor a given period, churn is calculated as the number of paying customers that have an opportunity to renew and choose to stop paying.\nThis resource requires authentication.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get Cloud conversions", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/reporting/developer-space/:developerId/sales/metrics/conversion", "query": [ { "key": "aggregation", "value": "{{aggregation}}", "disabled": true, "description": "The time aggregation" }, { "key": "startDate", "value": "{{startDate}}", "disabled": true, "description": "Starting date for the query" }, { "key": "endDate", "value": "{{endDate}}", "disabled": true, "description": "Ending date for the query" } ], "variable": [ { "key": "developerId", "value": "{{developerId}}", "description": "The unique identifier for this developer space.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Get a list of Cloud conversion events for the specified vendor's apps.\nFor a given period, conversions are calculated as the number of evaluation licenses that converted into paid licenses.\nThis resource requires authentication.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get Cloud renewals", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/reporting/developer-space/:developerId/sales/metrics/renewal", "query": [ { "key": "aggregation", "value": "{{aggregation}}", "disabled": true, "description": "The time aggregation" }, { "key": "startDate", "value": "{{startDate}}", "disabled": true, "description": "Starting date for the query" }, { "key": "endDate", "value": "{{endDate}}", "disabled": true, "description": "Ending date for the query" } ], "variable": [ { "key": "developerId", "value": "{{developerId}}", "description": "The unique identifier for this developer space.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Get a list of Cloud renewal events for the specified vendor's apps.\nFor a given period, renewals are calculated as the number of paying customers that have an opportunity to renew and choose to continue paying.\nThis resource requires authentication.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get Cloud license events", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/reporting/developer-space/:developerId/sales/metrics/:saleMetric/details", "query": [ { "key": "productId", "value": "{{productId}}", "disabled": true, "description": "If specified, restricts the query to values for apps with the specified keys" }, { "key": "hosting", "value": "{{hosting}}", "disabled": true, "description": "Restricts the query to values for these hosting types" }, { "key": "appEdition", "value": "{{appEdition}}", "disabled": true, "description": "Restricts the query to these app edition types" }, { "key": "lastUpdated", "value": "{{lastUpdated}}", "disabled": true, "description": "If specified, restricts the query to values updated on or after the specified date" }, { "key": "partnerType", "value": "{{partnerType}}", "disabled": true, "description": "Specifies whether to query only direct sales, expert sales, or reseller sales" }, { "key": "text", "value": "{{text}}", "disabled": true, "description": "Text to search for (transaction id, license id, customer information and partner information)" }, { "key": "startDate", "value": "{{startDate}}", "disabled": true, "description": "Starting date for the query" }, { "key": "endDate", "value": "{{endDate}}", "disabled": true, "description": "Ending date for the query" }, { "key": "sortBy", "value": "{{sortBy}}", "disabled": true, "description": "If specified, determines the data sort order" }, { "key": "order", "value": "{{order}}", "disabled": true, "description": "Determines whether values are sorted in ascending or descending order" } ], "variable": [ { "key": "developerId", "value": "{{developerId}}", "description": "The unique identifier for this developer space.", "disabled": false }, { "key": "saleMetric", "value": "{{saleMetric}}", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Get the details about an individual Cloud license event (churn, conversion or renewal) for a specific vendor's apps.\nThis resource requires authentication.\n\n**Note:** The API response example is based on `churn`. \n\nTo retrieve data by specific criteria, use the following endpoints:\n\n**conversion**: `/rest/3/reporting/developer-space/{developerId}/sales/metrics/conversion/details`\n\n*Sample reponse*\n```json\n \"query\": {\n \"href\": \"/rest/3/reporting/developer-space/{developerId}/sales/metrics/conversion/details{?productId*,hosting*,lastUpdated,partnerType*,text,startDate,endDate,sortBy,order,offset,limit}\",\n \"templated\": true\n },\n \"export\": [\n {\n \"href\": \"/rest/3/reporting/developer-space/{developerId}/sales/metrics/conversion/details/export?accept=csv\",\n \"type\": \"text/csv\"\n }\n ],\n \"next\": {\n \"href\": \"/rest/3/reporting/developer-space/{developerId}/sales/metrics/conversion/details?offset=10\"\n }\n},\n\"events\": [\n {\n \"addonKey\": \"APP_KEY1\",\n \"productId\": \"acd011b1-1111-45bc-902a-247046a11111\",\n \"addonName\": \"APP 1\",\n \"hosting\": \"Cloud\",\n \"lastUpdated\": \"2025-03-27\",\n \"eventDate\": \"2025-03-18\",\n \"transactionId\": \"IN-EU-111-111-111\",\n \"licenseDetails\": {\n \"appEntitlementId\": \"1a1a11aa-aa11-1a11-aa1a-aa111a1111a1\",\n \"appEntitlementNumber\": \"E-111-AAA-AAA-11A\",\n \"cloudId\": \"0a0a00aa-aa00-0a00-aa0a-aa000a0000a0\",\n \"maintenanceStartDate\": \"2025-02-18\",\n \"maintenanceEndDate\": \"2025-03-18\",\n \"monthsValid\": 1\n }\n }\n]\n}\n``` \n**renewal**: `/rest/3/reporting/developer-space/{developerId}/sales/metrics/renewal/details`\n\n```json\n {\n \"query\": {\n \"href\": \"/rest/3/reporting/developer-space/{developerId}/sales/metrics/renewal/details{?productId*,hosting*,lastUpdated,partnerType*,text,startDate,endDate,sortBy,order,offset,limit}\",\n \"templated\": true\n },\n \"export\": [\n {\n \"href\": \"/rest/3/reporting/developer-space/{developerId}/sales/metrics/renewal/details/export?accept=csv\",\n \"type\": \"text/csv\"\n }\n ],\n \"next\": {\n \"href\": \"/rest/3/reporting/developer-space/{developerId}/sales/metrics/renewal/details?offset=10\"\n },\n \"events\": [\n {\n \"addonKey\": \"APP_KEY1\",\n \"productId\": \"acd011b1-1111-45bc-902a-247046a11111\",\n \"addonName\": \"APP 1\",\n \"hosting\": \"Cloud\",\n \"lastUpdated\": \"2025-03-27\",\n \"eventDate\": \"2025-03-18\",\n \"transactionId\": \"IN-EU-111-111-111\",\n \"licenseDetails\": {\n \"appEntitlementId\": \"1a1a11aa-aa11-1a11-aa1a-aa111a1111a1\",\n \"appEntitlementNumber\": \"E-111-AAA-AAA-11A\",\n \"cloudId\": \"0a0a00aa-aa00-0a00-aa0a-aa000a0000a0\",\n \"maintenanceStartDate\": \"2025-02-18\",\n \"maintenanceEndDate\": \"2025-03-18\",\n \"monthsValid\": 1\n }\n }\n ]\n } ```", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Export Cloud license events", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/reporting/developer-space/:developerId/sales/metrics/:saleMetric/details/export", "query": [ { "key": "productId", "value": "{{productId}}", "disabled": true, "description": "If specified, restricts the query to values for apps with the specified keys" }, { "key": "hosting", "value": "{{hosting}}", "disabled": true, "description": "Restricts the query to values for these hosting types" }, { "key": "appEdition", "value": "{{appEdition}}", "disabled": true, "description": "Restricts the query to these app edition types" }, { "key": "lastUpdated", "value": "{{lastUpdated}}", "disabled": true, "description": "If specified, restricts the query to values updated on or after the specified date" }, { "key": "partnerType", "value": "{{partnerType}}", "disabled": true, "description": "Specifies whether to query only direct sales, expert sales, or reseller sales" }, { "key": "text", "value": "{{text}}", "disabled": true, "description": "Text to search for (transaction id, license id, customer information and partner information)" }, { "key": "startDate", "value": "{{startDate}}", "disabled": true, "description": "Starting date for the query" }, { "key": "endDate", "value": "{{endDate}}", "disabled": true, "description": "Ending date for the query" }, { "key": "sortBy", "value": "{{sortBy}}", "disabled": true, "description": "If specified, determines the data sort order" }, { "key": "order", "value": "{{order}}", "disabled": true, "description": "Determines whether values are sorted in ascending or descending order" }, { "key": "accept", "value": "{{accept}}", "disabled": true, "description": "Specifies the response format. If unspecified, the 'Accept' header will be used." } ], "variable": [ { "key": "developerId", "value": "{{developerId}}", "description": "The unique identifier for this developer space.", "disabled": false }, { "key": "saleMetric", "value": "{{saleMetric}}", "disabled": false } ] }, "method": "GET", "header": [], "description": "Export all Cloud license events, matching the specified filters, for the specified vendor's apps.\nThis resource requires authentication.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get transactions", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/reporting/developer-space/:developerId/sales/transactions", "query": [ { "key": "productId", "value": "{{productId}}", "disabled": true, "description": "If specified, restricts the query to values for apps with the specified keys" }, { "key": "startDate", "value": "{{startDate}}", "disabled": true, "description": "Starting date for the query" }, { "key": "endDate", "value": "{{endDate}}", "disabled": true, "description": "Ending date for the query" }, { "key": "text", "value": "{{text}}", "disabled": true, "description": "Text to search for in transaction fields (transaction id, license id, customer information and partner information)" }, { "key": "tier", "value": "{{tier}}", "disabled": true, "description": "Restricts the query to values for these user/edition tiers" }, { "key": "saleType", "value": "{{saleType}}", "disabled": true, "description": "Restricts the query to sales of these types" }, { "key": "partnerType", "value": "{{partnerType}}", "disabled": true, "description": "Specifies whether to query only direct sales, expert sales, or reseller sales" }, { "key": "hosting", "value": "{{hosting}}", "disabled": true, "description": "Restricts the query to values for these hosting types" }, { "key": "cloudComplianceBoundaries", "value": "{{cloudComplianceBoundaries}}", "disabled": true, "description": "Restricts the query to values for these cloud compliance boundaries types, with default value as \"commercial\". This parameter will be ignored for non-cloud apps." }, { "key": "appEdition", "value": "{{appEdition}}", "disabled": true, "description": "Restricts the query to these app edition types" }, { "key": "lastUpdated", "value": "{{lastUpdated}}", "disabled": true, "description": "If specified, restricts the query to values updated on or after the specified date" }, { "key": "excludeZeroTransactions", "value": "{{excludeZeroTransactions}}", "disabled": true, "description": "If set to true, exclude $0 transactions from reports" }, { "key": "includeManualInvoice", "value": "{{includeManualInvoice}}", "disabled": true, "description": "If set to true, include manual invoices in reports" }, { "key": "paymentStatus", "value": "{{paymentStatus}}", "disabled": true, "description": "Restricts the query to payment status of these types" }, { "key": "sortBy", "value": "{{sortBy}}", "disabled": true, "description": "If specified, determines the transaction sort order" }, { "key": "order", "value": "{{order}}", "disabled": true, "description": "Determines whether values are sorted in ascending or descending order" }, { "key": "offset", "value": "{{offset}}", "disabled": true, "description": "If specified, skips ahead by this number of items" }, { "key": "limit", "value": "{{limit}}", "disabled": true, "description": "If specified, limits the result set to this number of items. Max limit is 50" } ], "variable": [ { "key": "developerId", "value": "{{developerId}}", "description": "The unique identifier for this developer space.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Get a list of transactions for the specified vendor's apps.\nThis resource requires authentication.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Export transactions", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/reporting/developer-space/:developerId/sales/transactions/export", "query": [ { "key": "productId", "value": "{{productId}}", "disabled": true, "description": "If specified, restricts the query to values for apps with the specified keys" }, { "key": "startDate", "value": "{{startDate}}", "disabled": true, "description": "Starting date for the query" }, { "key": "endDate", "value": "{{endDate}}", "disabled": true, "description": "Ending date for the query" }, { "key": "text", "value": "{{text}}", "disabled": true, "description": "Text to search for in transaction fields (transaction id, license id, customer information and partner information)" }, { "key": "tier", "value": "{{tier}}", "disabled": true, "description": "Restricts the query to values for these user/edition tiers" }, { "key": "saleType", "value": "{{saleType}}", "disabled": true, "description": "Restricts the query to sales of these types" }, { "key": "partnerType", "value": "{{partnerType}}", "disabled": true, "description": "Specifies whether to query only direct sales, expert sales, or reseller sales" }, { "key": "hosting", "value": "{{hosting}}", "disabled": true, "description": "Restricts the query to values for these hosting types" }, { "key": "cloudComplianceBoundaries", "value": "{{cloudComplianceBoundaries}}", "disabled": true, "description": "Restricts the query to values for these cloud compliance boundaries types, with default value as \"commercial\". This parameter will be ignored for non-cloud apps." }, { "key": "appEdition", "value": "{{appEdition}}", "disabled": true, "description": "Restricts the query to these app edition types" }, { "key": "lastUpdated", "value": "{{lastUpdated}}", "disabled": true, "description": "If specified, restricts the query to values updated on or after the specified date" }, { "key": "excludeZeroTransactions", "value": "{{excludeZeroTransactions}}", "disabled": true, "description": "If set to true, exclude $0 transactions from reports" }, { "key": "includeManualInvoice", "value": "{{includeManualInvoice}}", "disabled": true, "description": "If set to true, include manual invoices in reports" }, { "key": "paymentStatus", "value": "{{paymentStatus}}", "disabled": true, "description": "Restricts the query to payment status of these types" }, { "key": "sortBy", "value": "{{sortBy}}", "disabled": true, "description": "If specified, determines the transaction sort order" }, { "key": "order", "value": "{{order}}", "disabled": true, "description": "Determines whether values are sorted in ascending or descending order" }, { "key": "accept", "value": "{{accept}}", "disabled": true, "description": "Specifies the response format. If unspecified, the 'Accept' header will be used." } ], "variable": [ { "key": "developerId", "value": "{{developerId}}", "description": "The unique identifier for this developer space.", "disabled": false } ] }, "method": "GET", "header": [], "description": "Export all transactions, matching the specified filters, for the specified vendor's apps.\nThis resource requires authentication.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Initiate Async Export transactions", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/reporting/developer-space/:developerId/sales/transactions/async/export", "query": [ { "key": "productId", "value": "{{productId}}", "disabled": true, "description": "If specified, restricts the query to values for apps with the specified keys" }, { "key": "startDate", "value": "{{startDate}}", "disabled": true, "description": "Starting date for the query" }, { "key": "endDate", "value": "{{endDate}}", "disabled": true, "description": "Ending date for the query" }, { "key": "text", "value": "{{text}}", "disabled": true, "description": "Text to search for in transaction fields (transaction id, license id, customer information and partner information)" }, { "key": "tier", "value": "{{tier}}", "disabled": true, "description": "Restricts the query to values for these user/edition tiers" }, { "key": "saleType", "value": "{{saleType}}", "disabled": true, "description": "Restricts the query to sales of these types" }, { "key": "partnerType", "value": "{{partnerType}}", "disabled": true, "description": "Specifies whether to query only direct sales, expert sales, or reseller sales" }, { "key": "hosting", "value": "{{hosting}}", "disabled": true, "description": "Restricts the query to values for these hosting types" }, { "key": "cloudComplianceBoundaries", "value": "{{cloudComplianceBoundaries}}", "disabled": true, "description": "Restricts the query to values for these cloud compliance boundaries types, with default value as \"commercial\". This parameter will be ignored for non-cloud apps." }, { "key": "appEdition", "value": "{{appEdition}}", "disabled": true, "description": "Restricts the query to these app edition types" }, { "key": "lastUpdated", "value": "{{lastUpdated}}", "disabled": true, "description": "If specified, restricts the query to values updated on or after the specified date" }, { "key": "excludeZeroTransactions", "value": "{{excludeZeroTransactions}}", "disabled": true, "description": "If set to true, exclude $0 transactions from reports" }, { "key": "includeManualInvoice", "value": "{{includeManualInvoice}}", "disabled": true, "description": "If set to true, include manual invoices in reports" }, { "key": "paymentStatus", "value": "{{paymentStatus}}", "disabled": true, "description": "Restricts the query to payment status of these types" }, { "key": "sortBy", "value": "{{sortBy}}", "disabled": true, "description": "If specified, determines the transaction sort order" }, { "key": "order", "value": "{{order}}", "disabled": true, "description": "Determines whether values are sorted in ascending or descending order" }, { "key": "accept", "value": "{{accept}}", "disabled": true, "description": "Specifies the response format. If unspecified, the 'Accept' header will be used." } ], "variable": [ { "key": "developerId", "value": "{{developerId}}", "description": "The unique identifier for this developer space.", "disabled": false } ] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Initiate a POST request to export all transactions that match the specified filters for the vendor's apps. This resource requires authentication.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get status Async Export transactions", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/reporting/developer-space/:developerId/sales/transactions/async/export/:exportId/status", "query": [], "variable": [ { "key": "developerId", "value": "{{developerId}}", "description": "The unique identifier for this developer space.", "disabled": false }, { "key": "exportId", "value": "{{exportId}}", "description": "Unique export id for transaction export", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Get status for async export transaction request", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Download Async Export transactions", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/reporting/developer-space/:developerId/sales/transactions/async/export/:exportId", "query": [], "variable": [ { "key": "developerId", "value": "{{developerId}}", "description": "The unique identifier for this developer space.", "disabled": false }, { "key": "exportId", "value": "{{exportId}}", "description": "Unique export id for transaction export", "disabled": false } ] }, "method": "GET", "header": [], "description": "Download async export transactions", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get aggregated sales", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/reporting/developer-space/:developerId/sales/transactions/:metric", "query": [ { "key": "aggregation", "value": "{{aggregation}}", "disabled": true, "description": "The time aggregation" }, { "key": "startDate", "value": "{{startDate}}", "disabled": true, "description": "Starting date for the query" }, { "key": "endDate", "value": "{{endDate}}", "disabled": true, "description": "Ending date for the query" } ], "variable": [ { "key": "developerId", "value": "{{developerId}}", "description": "The unique identifier for this developer space.", "disabled": false }, { "key": "metric", "value": "{{metric}}", "description": "The unique identifier for this sale metric", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Get aggregated sales for the specified vendor, aggregated by the specified metric.\nSales can be aggregated by hosting, region, and more.\nThis resource requires authentication.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Export free starter tier entitlements", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/reporting/developer-space/:developerId/sales/freeStarterTier/export", "query": [ { "key": "productId", "value": "{{productId}}", "disabled": true, "description": "If specified, restricts the query to values for apps with the specified keys" }, { "key": "includeAtlassianLicenses", "value": "{{includeAtlassianLicenses}}", "disabled": true, "description": "If true, include internal Atlassian licenses in the report" }, { "key": "date", "value": "{{date}}", "disabled": true, "description": "If specified, restricts the query to the entitlements of the specified date. If not specified, gives the entitlements for the last valid date" }, { "key": "accept", "value": "{{accept}}", "disabled": true, "description": "Specifies the response format. If unspecified, the 'Accept' header will be used." } ], "variable": [ { "key": "developerId", "value": "{{developerId}}", "description": "The unique identifier for this developer space.", "disabled": false } ] }, "method": "GET", "header": [], "description": "Export entitlements under free starter tier plan, matching the specified filters, for the specified vendor's apps.\nThis resource requires authentication.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get Cloud churn benchmark", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/reporting/developer-space/:developerId/sales/metrics/churn/benchmark", "query": [ { "key": "productId", "value": "{{productId}}", "disabled": true, "description": "The unique identifier for an app" }, { "key": "startDate", "value": "{{startDate}}", "disabled": true, "description": "Starting date for the query" }, { "key": "endDate", "value": "{{endDate}}", "disabled": true, "description": "Ending date for the query" } ], "variable": [ { "key": "developerId", "value": "{{developerId}}", "description": "The unique identifier for this developer space.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Get cloud churn benchmark for the specified vendor's apps.\n This feature enables to have a deeper understanding of cloud churn numbers and allows to compare app performance to all other cloud apps on Marketplace.\n The churn benchmark data will be updated on a monthly basis.\n This resource requires authentication.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get Cloud evaluation benchmark", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/reporting/developer-space/:developerId/benchmark/evaluations", "query": [ { "key": "productId", "value": "{{productId}}", "disabled": true, "description": "The unique identifier for an app" }, { "key": "startDate", "value": "{{startDate}}", "disabled": true, "description": "Starting date for the query and should be in the format **YYYY-MM-DD** and startDate will always be the start of the month irrespective of the date you provide. For example: if startDate entered is 2022-01-22, it will reflect as 2022-01-01" }, { "key": "endDate", "value": "{{endDate}}", "disabled": true, "description": "Ending date for the query and should be in the format **YYYY-MM-DD** and and endDate will always be the start of the month irrespective of the date you provide. For example: if endDate entered is 2022-01-22, it will reflect as 2022-01-01" } ], "variable": [ { "key": "developerId", "value": "{{developerId}}", "description": "The unique identifier for this partner", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "To fetch count of evaluations and benchmark.\nThis resource returns monthly and year-to-date count of evaluations, and their Month over Month and Year over Year growth respectively. It also returns benchmarks for the growth figures by comparing them against overall Marketplace growth.\nThe evaluation benchmark data will be updated on a monthly basis.\n This resource requires authentication.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get Cloud sales benchmark", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/reporting/developer-space/:developerId/benchmark/sales", "query": [ { "key": "productId", "value": "{{productId}}", "disabled": true, "description": "If specified, restricts the query to values for apps with the specified keys" }, { "key": "startDate", "value": "{{startDate}}", "disabled": true, "description": "Starting date for the query and should be in the format **YYYY-MM-DD** and startDate will always be the start of the month irrespective of the data you provide.\n For example: If startDate entered is 2022-01-22, it will reflect as 2022-01-01" }, { "key": "endDate", "value": "{{endDate}}", "disabled": true, "description": "Ending date for the query and should be in the format **YYYY-MM-DD** and endDate will always be the start of the month irrespective of the data you provide.\n For example: If endDate entered is 2022-01-22, it will reflect as 2022-01-01" } ], "variable": [ { "key": "developerId", "value": "{{developerId}}", "description": "The unique identifier for this partner", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "To fetch cloud sales and benchmark for the specified partner and partner's apps. It includes only partner share of sales and does not include Atlassian share.\nThis resource returns monthly and year-to-date sales value from marketplace transactions, and their Month over Month and Year over Year growth respectively. It also returns benchmarks for the growth figures by comparing them against overall Marketplace growth and base product growth.\nThe sales benchmark data will be updated on a quarterly basis, specifically in February, May, August, and November.\nThis resource requires authentication.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get Customer Insights (By Region)", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/reporting/developer-space/:developerId/customer-insights/regions", "query": [ { "key": "startDate", "value": "{{startDate}}", "disabled": true, "description": "Starting date for the query and should be in the format **YYYY-MM-DD** and startDate will always be the start of the month irrespective of the data you provide.\n For example: If startDate entered is 2022-01-22, it will reflect as 2022-01-01" }, { "key": "endDate", "value": "{{endDate}}", "disabled": true, "description": "Ending date for the query and should be in the format **YYYY-MM-DD** and endDate will always be the start of the month irrespective of the data you provide.\n For example: If endDate entered is 2022-01-22, it will reflect as 2022-01-01" } ], "variable": [ { "key": "developerId", "value": "{{developerId}}", "description": "The unique identifier for this partner", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "To fetch count of customers split by region and percentage distribution of customers across regions (APAC, EMEA, Americas, Unknown).\nIt also returns a benchmark of the percentage distribution by comparing it against overall Marketplace distribution.\nThis resource requires authentication.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get Customer Insights (By Edition)", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/reporting/developer-space/:developerId/customer-insights/editions", "query": [ { "key": "startDate", "value": "{{startDate}}", "disabled": true, "description": "Starting date for the query and should be in the format **YYYY-MM-DD** and startDate will always be the start of the month irrespective of the data you provide. For example: if startDate entered is 2022-01-22, it will reflect as 2022-01-01" }, { "key": "endDate", "value": "{{endDate}}", "disabled": true, "description": "Ending date for the query and should be in the format **YYYY-MM-DD** and endDate will always be the start of the month irrespective of the data you provide. For example: if endDate entered is 2022-01-22, it will reflect as 2022-01-01" } ], "variable": [ { "key": "developerId", "value": "{{developerId}}", "description": "The unique identifier for this partner", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "To fetch count of customers split by parent product edition and percentage distribution of customers across parent product editions.\nIt also returns a benchmark of the percentage distribution by comparing it against overall Marketplace distribution.\nThis resource requires authentication.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get Customer Insights (By ActiveUsers)", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/reporting/developer-space/:developerId/customer-insights/active-users", "query": [ { "key": "startDate", "value": "{{startDate}}", "disabled": true, "description": "Starting date for the query. Should be in the format **YYYY-MM-DD**. startDate will always be the start of the month irrespective of the data you provide. For example: if startDate entered is 2022-01-22, it will reflect as 2022-01-01. " }, { "key": "endDate", "value": "{{endDate}}", "disabled": true, "description": "Ending date for the query. Should be of the format **YYYY-MM-DD**. endDate will always be the start of the month irrespective of the data you provide. For example: if endDate entered is 2022-01-22, it will reflect as 2022-01-01" } ], "variable": [ { "key": "developerId", "value": "{{developerId}}", "description": "The unique identifier for this partner.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "To fetch count of customers using a paid instance of Jira or Confluence and the count as a percentage of total customers.\nIt also returns a benchmark of the percentage value by comparing it against overall Marketplace average.\n This resource requires authentication.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get Customer Insights (By Tier)", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/reporting/developer-space/:developerId/customer-insights/tiers", "query": [ { "key": "startDate", "value": "{{startDate}}", "disabled": true, "description": "Starting date for the query. Should be in the format **YYYY-MM-DD**. startDate will always be the start of the month irrespective of the data you provide. For example: if startDate entered is 2022-01-22, it will reflect as 2022-01-01. " }, { "key": "endDate", "value": "{{endDate}}", "disabled": true, "description": "Ending date for the query. Should be of the format **YYYY-MM-DD**. endDate will always be the start of the month irrespective of the data you provide. For example: if endDate entered is 2022-01-22, it will reflect as 2022-01-01." }, { "key": "product", "value": "{{product}}", "disabled": true, "description": "Parent product type. For example: Jira or Confluence." } ], "variable": [ { "key": "developerId", "value": "{{developerId}}", "description": "The unique identifier for this partner.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "To fetch count of customers split by user tier and percentage distribution of customers across user tiers. User tier indicates the count of users on Jira or Confluence instance (1 to 10, 11 to 100, 101 to 1000, etc.).\nIt also returns a benchmark of the percentage distribution by comparing it against overall Marketplace distribution.\n This resource requires authentication.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get Top Search Keywords (By Source)", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/reporting/developer-space/:developerId/search-keywords/source/:sourceKey", "query": [ { "key": "startDate", "value": "{{startDate}}", "disabled": true, "description": "Starting date for the query. Should be in the format **YYYY-MM-DD**." }, { "key": "endDate", "value": "{{endDate}}", "disabled": true, "description": "Ending date for the query. Should be in the format **YYYY-MM-DD**." } ], "variable": [ { "key": "developerId", "value": "{{developerId}}", "description": "The unique identifier for this partner.", "disabled": false }, { "key": "sourceKey", "value": "{{sourceKey}}", "description": "The unique identifier for the source type", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Get the list of top 500 searched keywords on the basis of source type.\nThis resource requires authentication.\n\n**Note:** The API response example is based on source as `marketplace`\n\nTo retrieve data by source as `embedded-marketplace`, use the following endpoint:\n\n`/rest/3/reporting/developer-space/{developerId}/search-keywords/source/embedded-marketplace`", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Export Top Search Keywords (By Source)", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/reporting/developer-space/:developerId/search-keywords/source/:sourceKey/export", "query": [ { "key": "startDate", "value": "{{startDate}}", "disabled": true, "description": "Starting date for the query. Should be in the format **YYYY-MM-DD**." }, { "key": "endDate", "value": "{{endDate}}", "disabled": true, "description": "Ending date for the query. Should be in the format **YYYY-MM-DD**." }, { "key": "accept", "value": "{{accept}}", "disabled": true, "description": "Specifies the response format. If unspecified, the 'Accept' header will be used." } ], "variable": [ { "key": "developerId", "value": "{{developerId}}", "description": "The unique identifier for this partner.", "disabled": false }, { "key": "sourceKey", "value": "{{sourceKey}}", "description": "The unique identifier for the source type", "disabled": false } ] }, "method": "GET", "header": [], "description": "Export the list of top 500 searched keywords on the basis of source type. \nThis resource requires authentication.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get Zero Search Results Keywords", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/reporting/developer-space/:developerId/zero-search-results-keywords/source/:sourceKey", "query": [ { "key": "startDate", "value": "{{startDate}}", "disabled": true, "description": "Starting date for the query and should be in the format **YYYY-MM-DD**." }, { "key": "endDate", "value": "{{endDate}}", "disabled": true, "description": "Ending date for the query and should be in the format **YYYY-MM-DD**." } ], "variable": [ { "key": "developerId", "value": "{{developerId}}", "description": "The unique identifier for this developer space..", "disabled": false }, { "key": "sourceKey", "value": "{{sourceKey}}", "description": "The unique identifier for the source type", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Get zero search results keywords on the basis of source type. This feature will help to have deeper understanding of searched keywords that have zero search results and thereby discover the opportunity to build apps.\nThis resource requires authentication.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Export Zero Search Results Keywords", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/reporting/developer-space/:developerId/zero-search-results-keywords/source/:sourceKey/export", "query": [ { "key": "startDate", "value": "{{startDate}}", "disabled": true, "description": "Starting date for the query and should be in the format **YYYY-MM-DD**." }, { "key": "endDate", "value": "{{endDate}}", "disabled": true, "description": "Ending date for the query and should be in the format **YYYY-MM-DD**." }, { "key": "accept", "value": "{{accept}}", "disabled": true, "description": "Specifies the response format. If unspecified, the 'Accept' header will be used." } ], "variable": [ { "key": "developerId", "value": "{{developerId}}", "description": "The unique identifier for this developer space..", "disabled": false }, { "key": "sourceKey", "value": "{{sourceKey}}", "description": "The unique identifier for the source type", "disabled": false } ] }, "method": "GET", "header": [], "description": "Export zero search results keywords on the basis of source type. This feature will help to have deeper understanding of searched keywords that have zero search results and thereby discover the opportunity to build apps.\nThis resource requires authentication.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get Search Keywords (By Partner)", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/reporting/developer-space/:developerId/search-keywords", "query": [ { "key": "startDate", "value": "{{startDate}}", "disabled": true, "description": "Starting date for the query. Should be in the format **YYYY-MM-DD**." }, { "key": "endDate", "value": "{{endDate}}", "disabled": true, "description": "Ending date for the query. Should be in the format **YYYY-MM-DD**." }, { "key": "aggregation", "value": "{{aggregation}}", "disabled": true, "description": "The time aggregation" } ], "variable": [ { "key": "developerId", "value": "{{developerId}}", "description": "The unique identifier for this partner.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Get aggregated searched keywords detail which includes top search keyword and total search appearances for all the apps from the specified partner. \nThis resource requires authentication.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Export Search Keywords (By Partner)", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/reporting/developer-space/:developerId/search-keywords/export", "query": [ { "key": "startDate", "value": "{{startDate}}", "disabled": true, "description": "Starting date for the query. Should be in the format **YYYY-MM-DD**." }, { "key": "endDate", "value": "{{endDate}}", "disabled": true, "description": "Ending date for the query. Should be in the format **YYYY-MM-DD**." }, { "key": "aggregation", "value": "{{aggregation}}", "disabled": true, "description": "The time aggregation" }, { "key": "accept", "value": "{{accept}}", "disabled": true, "description": "Specifies the response format. If unspecified, the 'Accept' header will be used." } ], "variable": [ { "key": "developerId", "value": "{{developerId}}", "description": "The unique identifier for this partner.", "disabled": false } ] }, "method": "GET", "header": [], "description": "Export aggregated searched keywords detail which includes top search keyword and total search appearances for all the apps from the specified partner. \nThis resource requires authentication.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get Search Keywords (By App)", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/reporting/developer-space/:developerId/products/:productId/search-keywords", "query": [ { "key": "startDate", "value": "{{startDate}}", "disabled": true, "description": "Starting date for the query. Should be in the format **YYYY-MM-DD**." }, { "key": "endDate", "value": "{{endDate}}", "disabled": true, "description": "Ending date for the query. Should be of the format **YYYY-MM-DD**." }, { "key": "aggregation", "value": "{{aggregation}}", "disabled": true, "description": "The time aggregation. Default value for this is week. For example: week" } ], "variable": [ { "key": "developerId", "value": "{{developerId}}", "description": "The unique identifier for this partner.", "disabled": false }, { "key": "productId", "value": "{{productId}}", "description": "The product ID corresponding to the app.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Fetch the details of searched keywords for which the particular app showed up. It also populates the leading searched keywords based on the number of counts that resulted in showing the app.\nThis resource requires authentication.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Export Search Keywords (By App)", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/reporting/developer-space/:developerId/products/:productId/search-keywords/export", "query": [ { "key": "startDate", "value": "{{startDate}}", "disabled": true, "description": "Starting date for the query. Should be in the format **YYYY-MM-DD**." }, { "key": "endDate", "value": "{{endDate}}", "disabled": true, "description": "Ending date for the query. Should be of the format **YYYY-MM-DD**." }, { "key": "aggregation", "value": "{{aggregation}}", "disabled": true, "description": "The time aggregation. Default value for this is week. For example: week" }, { "key": "accept", "value": "{{accept}}", "disabled": true, "description": "Specifies the response format. If unspecified, the 'Accept' header will be used." } ], "variable": [ { "key": "developerId", "value": "{{developerId}}", "description": "The unique identifier for this partner.", "disabled": false }, { "key": "productId", "value": "{{productId}}", "description": "The product ID corresponding to the app.", "disabled": false } ] }, "method": "GET", "header": [], "description": "Export the list of searched keywords for which the particular app showed up. It also populates the leading searched keywords based on the number of counts that resulted in showing the app.\n This resource requires authentication.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get app requests and approvals", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/reporting/developer-space/:developerId/app-requests-and-approvals", "query": [ { "key": "productId", "value": "{{productId}}", "disabled": true, "description": "If specified, restricts the query to values for apps with the specified keys" }, { "key": "startDate", "value": "{{startDate}}", "disabled": true, "description": "Starting date for the query and should be in the format **YYYY-MM-DD** and startDate will always be the start of the month irrespective of the data you provide.\n For example: If startDate entered is 2022-01-22, it will reflect as 2022-01-01" }, { "key": "endDate", "value": "{{endDate}}", "disabled": true, "description": "Ending date for the query and should be in the format **YYYY-MM-DD** and endDate will always be the start of the month irrespective of the data you provide.\n For example: If endDate entered is 2022-01-22, it will reflect as 2022-01-01" } ], "variable": [ { "key": "developerId", "value": "{{developerId}}", "description": "The unique identifier for this partner", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "To fetch count of app install requests sent by end-users to admins, count of approvals and approval rate.\n This resource requires authentication.", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Get latest product catalog snapshot", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/reporting/product-catalog/latest", "query": [], "variable": [] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Returns a presigned URL to download the latest product catalog snapshot as a CSV file.\nThe CSV file contains details of the versions of the public apps/agents (commonly termed as products) listed on Atlassian Marketplace.\n\nThis resource requires authentication.\n\n**CSV Fields:**\n| Field | Description |\n|-------|-------------|\n| `is_beta` | True if this is a beta version |\n| `summary` | Summary of the product |\n| `tag_line` | Tagline of the product |\n| `is_connect` | True if the version uses Atlassian Connect |\n| `product_id` | Unique identifier of the product |\n| `released_at` | The date on which the version was released |\n| `vendor_name` | Name of the vendor |\n| `is_supported` | True if the version is officially supported |\n| `review_score` | Review score of the product |\n| `average_stars` | Average star rating of the product |\n| `download_count` | Number of downloads |\n| `version_number` | The display name of the version, for example \"1.0.0\" |\n| `version_status` | Indicates whether the version is manually approved or auto approved. uninitiated → auto approved approved → manually approved by Atlassian Support |\n| `publicly_visible` | This is always True, but kept for extensibility purposes for future |\n| `number_of_reviews` | Number of reviews |\n| `category_name_list` | Name of a categories associated with the product |\n| `marketplace_app_key` | The unique human readable identifier for this app/agent, for example mycompany.myapp |\n| `app_software_hosting` | Specifies the hosting type of this version’s app software, for example CLOUD, DATA_CENTER, SERVER |\n| `marketplace_app_name` | The display name of the product, for example \"My app\" |\n| `parent_software_list` | The list of parent softwares this specific version is compatible with |\n| `supported_payment_model` | The payment model for this specific version |\n| `is_auto_update_strategy_available` | True if automatic updates are allowed for the version |", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] }, { "name": "Fetch metric time series", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/partner-metrics/developer-space/:developerId", "query": [ { "key": "limit", "value": "{{limit}}", "disabled": true, "description": "We are using granularity-based pagination, the limit is in the number of days/week/month/year based on granularity. Default- 7 and max- 14" }, { "key": "offset", "value": "{{offset}}", "disabled": true, "description": "If specified, skips ahead by this number of days/week/month/year based on granularity" } ], "variable": [ { "key": "developerId", "value": "{{developerId}}", "description": "The unique identifier for this partner.", "disabled": false } ] }, "method": "POST", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" }, { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "This resource fetches the time series data for the metric of choice. \\\nIt requires authentication.\\\nThe sample response shown on the right depicts active installs count by application + week.\\\nFollowing are the examples of requests and responses for obtaining installation counts by application version and week:\n\n**Note:** Installation counts only within the commercial compliance boundary are included in this API.\n\n**Get installs to count by application version + week**\n```json\nRequest\nPOST /rest/3/partner-metrics/developer-space/{developerId}\n{\n \"granularity\": \"WEEK\",\n \"attributes\": [{ \"name\": \"PARENT_SOFTWARE\" }, { \"name\": \"PARENT_SOFTWARE_VERSION\" }],\n \"metrics\": { \"metricFields\": [{ \"name\": \"INSTALL_COUNT\" }] },\n \"attributesFilter\": {\n \"expr\": {\n \"andGroup\": [\n {\n \"filter\": {\n \"fieldName\": \"PRODUCT_ID\",\n \"oneFilter\": { \"stringFilter\": { \"value\": \"acd011b1-1111-45bc-902a-247046a11111\" } }\n }\n }\n ]\n }\n }\n}\n\nResponse\n {\n \"records\": [\n { \"date\": \"2024-10-21\", \"appKey\": \"com.k15t.scroll.doc.variants\", \"productId\": \"acd011b1-1111-45bc-902a-247046a11112\", \"installCounts\": 2, \"parentSoftware\": \"Confluence\", \"parentSoftwareVersion\": \"7.13.2\" },\n { \"date\": \"2024-10-21\", \"appKey\": \"com.k15t.scroll.doc.variants\", \"productId\": \"acd011b1-1111-45bc-902a-247046a11113\", \"installCounts\": 2, \"parentSoftware\": \"Confluence\", \"parentSoftwareVersion\": \"7.19.17\" },\n { \"date\": \"2024-10-21\", \"appKey\": \"com.k15t.scroll.doc.variants\", \"productId\": \"acd011b1-1111-45bc-902a-247046a11114\", \"installCounts\": 1, \"parentSoftware\": \"Confluence\", \"parentSoftwareVersion\": \"7.19.18\" },\n { \"date\": \"2024-10-21\", \"appKey\": \"com.k15t.scroll.doc.variants\", \"productId\": \"acd011b1-1111-45bc-902a-247046a11115\", \"installCounts\": 2, \"parentSoftware\": \"Confluence\", \"parentSoftwareVersion\": \"7.19.20\" }\n ]\n }\n```\n**Get active install counts by major application version + week**\n```json\n Request\n POST /rest/3/partner-metrics/developer-space/{developerId}\n{\n \"granularity\": \"WEEK\",\n \"attributes\": [\n { \"name\": \"PARENT_SOFTWARE\" },\n { \"name\": \"PARENT_SOFTWARE_MAJOR_VERSION\" }\n ],\n \"metrics\": { \"metricFields\": [{ \"name\": \"INSTALL_COUNT\" }] },\n \"attributesFilter\": {\n \"expr\": {\n \"andGroup\": [\n {\n \"filter\": {\n \"fieldName\": \"PRODUCT_ID\",\n \"oneFilter\": { \"stringFilter\": { \"value\": \"acd011b1-1111-45bc-902a-247046a11111\" } }\n }\n }\n ]\n }\n }\n}\n Response\n {\n \"records\": [\n { \"date\": \"2024-10-21\", \"appKey\": \"com.k15t.scroll.doc.variants\", \"productId\": \"acd011b1-1111-45bc-902a-247046a11112\", \"installCounts\": 8, \"parentSoftware\": \"Confluence\", \"parentSoftwareMajorVersions\": \"7.x.x\" },\n { \"date\": \"2024-10-21\", \"appKey\": \"com.k15t.scroll.doc.variants\", \"productId\": \"acd011b1-1111-45bc-902a-247046a11113\", \"installCounts\": 18, \"parentSoftware\": \"Confluence\", \"parentSoftwareMajorVersions\": \"8.x.x\" },\n { \"date\": \"2024-10-21\", \"appKey\": \"com.k15t.scroll.doc.variants\", \"productId\": \"acd011b1-1111-45bc-902a-247046a11114\", \"installCounts\": 1, \"parentSoftware\": \"Confluence\", \"parentSoftwareMajorVersions\": \"9.x.x\" },\n { \"date\": \"2024-10-28\", \"appKey\": \"com.k15t.scroll.doc.variants\", \"productId\": \"acd011b1-1111-45bc-902a-247046a11115\", \"installCounts\": 8, \"parentSoftware\": \"Confluence\", \"parentSoftwareMajorVersions\": \"7.x.x\" } ]\n }\n```\n**Get active install counts by minor application version + week**\n\n**Note:** For older data please use dateRange, limit and offset parameters accordingly.\n\n```json\n Request\n POST /rest/3/partner-metrics/developer-space/{developerId}\n {\n \"granularity\": \"WEEK\",\n \"attributes\": [\n { \"name\": \"PARENT_SOFTWARE\" },\n { \"name\": \"PARENT_SOFTWARE_MINOR_VERSION\" }\n ],\n \"metrics\": { \"metricFields\": [{ \"name\": \"INSTALL_COUNT\" }] },\n \"attributesFilter\": {\n \"expr\": {\n \"andGroup\": [\n {\n \"filter\": {\n \"fieldName\": \"PRODUCT_ID\",\n \"oneFilter\": { \"stringFilter\": { \"value\": \"acd011b1-1111-45bc-902a-247046a11111\" } }\n }\n }\n ]\n }\n }\n }\n Response \n {\n \"records\": [\n { \"date\": \"2024-10-21\", \"appKey\": \"com.k15t.scroll.doc.variants\", \"productId\": \"acd011b1-1111-45bc-902a-247046a11112\", \"installCounts\": 2, \"parentSoftware\": \"Confluence\", \"parentSoftwareMinorVersions\": \"7.13.x\" },\n { \"date\": \"2024-10-21\", \"appKey\": \"com.k15t.scroll.doc.variants\", \"productId\": \"acd011b1-1111-45bc-902a-247046a11113\", \"installCounts\": 6, \"parentSoftware\": \"Confluence\", \"parentSoftwareMinorVersions\": \"7.19.x\" },\n { \"date\": \"2024-10-21\", \"appKey\": \"com.k15t.scroll.doc.variants\", \"productId\": \"acd011b1-1111-45bc-902a-247046a11114\", \"installCounts\": 13, \"parentSoftware\": \"Confluence\", \"parentSoftwareMinorVersions\": \"8.5.x\" },\n { \"date\": \"2024-10-21\", \"appKey\": \"com.k15t.scroll.doc.variants\", \"productId\": \"acd011b1-1111-45bc-902a-247046a11115\", \"installCounts\": 2, \"parentSoftware\": \"Confluence\", \"parentSoftwareMinorVersions\": \"8.7.x\" }\n ]\n }\n```\n**GMV metric field behavior**\n- `metrics.metricFields` accepts the GMV field names (case-insensitive) `LIFETIME_GMV`, `NON_HARMONISED_FORGE_VERSIONS_LIFETIME_GMV`, and `STANDARD_FORGE_VERSIONS_LIFETIME_GMV`.\n- When only `metricSets: [{ \"name\": \"GMV\" }]` is provided, the service now returns all three GMV breakouts for backward compatibility.\n- `LIFETIME_GMV` uses the `attributesFilter` to pick exactly one `APP_VERSION_TYPE` value (`RUNS_ON_ATLASSIAN`, `NATIVE_APP`, or `NON_HARMONISED`). Default is `NON_HARMONISED`; If the filter contains multiple/invalid values, the API returns `400` with `\"message\": \"Exactly single APP_VERSION_TYPE must be present in filter expression from (RUNS_ON_ATLASSIAN, NATIVE_APP or NON_HARMONISED)\"`\n\n**GMV request/response samples**\n```json\nRequest\nPOST /rest/3/partner-metrics/developer-space/{developerId}\n{\n \"granularity\": \"MONTH\",\n \"metrics\": { \"metricSets\": [{ \"name\": \"GMV\" }] }\n}\n\nResponse\n{\n \"records\": [\n {\n \"date\": \"2024-10-01\",\n \"lifetimeGmv\": 70000.0,\n \"lifetimeGmvAppVersionType\": \"NON_HARMONISED_FORGE_VERSIONS\",\n \"nonHarmonisedForgeVersionsGmv\": 70000.0,\n \"standardForgeAppVersionsGmv\": 80000.0\n }\n ]\n}\n```\n```json\nRequest\nPOST /rest/3/partner-metrics/developer-space/{developerId}\n{\n \"granularity\": \"MONTH\",\n \"attributes\": [{ \"name\": \"APP_VERSION_TYPE\" }],\n \"metrics\": { \"metricFields\": [{ \"name\": \"LIFETIME_GMV\" }] },\n \"attributesFilter\": {\n \"expr\": {\n \"andGroup\": [\n {\n \"filter\": {\n \"fieldName\": \"APP_VERSION_TYPE\",\n \"oneFilter\": { \"stringFilter\": { \"value\": \"RUNS_ON_ATLASSIAN\" } }\n }\n }\n ]\n }\n }\n}\n\nResponse\n{\n \"records\": [\n {\n \"date\": \"2024-10-01\",\n \"lifetimeGmv\": 52000.0,\n \"lifetimeGmvAppVersionType\": \"RUNS_ON_ATLASSIAN\"\n }\n ]\n}\n```\n```json\nRequest\nPOST /rest/3/partner-metrics/developer-space/{developerId}\n{\n \"granularity\": \"MONTH\",\n \"metrics\": {\n \"metricFields\": [\n { \"name\": \"NON_HARMONISED_FORGE_VERSIONS_LIFETIME_GMV\" },\n { \"name\": \"STANDARD_FORGE_VERSIONS_LIFETIME_GMV\" }\n ]\n }\n}\n\nResponse\n{\n \"records\": [\n {\n \"date\": \"2024-10-01\",\n \"nonHarmonisedForgeVersionsGmv\": 80000.0,\n \"standardForgeAppVersionsGmv\": 90000.0\n }\n ]\n}\n```", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "" } }, "response": [] } ] }, { "name": "Reviews", "description": "Information about app reviews and review management.\n", "item": [ { "name": "Get app reviews", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/products/:productId/reviews", "query": [ { "key": "sort", "value": "{{sort}}", "disabled": true, "description": "Sort order for reviews" }, { "key": "cursor", "value": "{{cursor}}", "disabled": true, "description": "Encoded cursor for pagination" }, { "key": "limit", "value": "{{limit}}", "disabled": true, "description": "Maximum number of reviews to return" }, { "key": "hosting", "value": "{{hosting}}", "disabled": true, "description": "Filter by hosting type" } ], "variable": [ { "key": "productId", "value": "{{productId}}", "description": "The product ID corresponding to the app.", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Get a list of reviews for the specified product.\nThis resource allows you to retrieve reviews with filtering and pagination options.\nReviews can be filtered by hosting type, sorted by various criteria, and paginated using cursors.\nThis resource requires authentication.\n\n**helpful**: `/rest/3/products/{productId}/reviews?sort=helpful`\n\n*Sample response*\n```json\n{\n \"productId\": \"acd011b1-1111-45bc-902a-247046a11111\",\n \"reviews\": [\n {\n \"content\": \"This app solved our workflow issues completely.\",\n \"responseContent\": \"We're thrilled to hear this helped your workflow!\",\n \"stars\": 4,\n \"date\": \"2025-01-12T08:15:00Z\",\n \"totalVotes\": 15,\n \"helpfulVotes\": 14,\n \"productHosting\": \"cloud\",\n \"isFlagged\": false,\n \"authorName\": \"John Doe\"\n }\n ],\n \"cursor\": \"eyJkYXRlIjoiMjAyNS0wMS0xMiIsImlkIjoiNjc4OTAifQ==\",\n \"count\": 1,\n \"averageStars\": 4.0\n}\n```" }, "response": [] }, { "name": "Get app review by review ID", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/products/:productId/reviews/:reviewId", "query": [], "variable": [ { "key": "productId", "value": "{{productId}}", "description": "The product ID corresponding to the app.", "disabled": false }, { "key": "reviewId", "value": "{{reviewId}}", "description": "The unique identifier for the review", "disabled": false } ] }, "method": "GET", "header": [ { "description": "", "disabled": false, "key": "Accept", "value": "application/json" } ], "description": "Get a specific review for the specified product by its review ID.\nThis resource allows you to retrieve detailed information about a single review.\nThis resource requires authentication." }, "response": [] }, { "name": "Respond to a review", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/products/:productId/reviews/:reviewId/response", "query": [], "variable": [ { "key": "productId", "value": "{{productId}}", "description": "The product ID corresponding to the app.", "disabled": false }, { "key": "reviewId", "value": "{{reviewId}}", "description": "The unique identifier for the review", "disabled": false } ] }, "method": "PUT", "header": [ { "description": "", "disabled": false, "key": "Content-Type", "value": "application/json" } ], "description": "Add or update a response to a review for the specified product.\nThis resource allows app developers to respond to customer reviews.\nThis resource requires authentication and proper authorization.\n\n**Note:** The API request example shows how to submit a response to a review.\n\n*Sample request*\n```json\n{\n \"responseContent\": \"Thank you for your feedback! We're glad you found our app helpful. We're continuously working to improve our features based on customer input.\"\n}\n```\n\n*Response*\n```\nHTTP/1.1 204 No Content\n```", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } }, "body": { "mode": "raw", "raw": "" } }, "response": [] }, { "name": "Delete response to a review", "request": { "url": { "protocol": "{{protocol}}", "host": "{{host}}", "path": "{{basePath}}rest/3/products/:productId/reviews/:reviewId/response", "query": [], "variable": [ { "key": "productId", "value": "{{productId}}", "description": "The product ID corresponding to the app.", "disabled": false }, { "key": "reviewId", "value": "{{reviewId}}", "description": "The unique identifier for the review", "disabled": false } ] }, "method": "DELETE", "header": [], "description": "Delete a response to a review for the specified product.\nThis resource allows app developers to remove their responses to customer reviews.\nThis resource requires authentication and proper authorization.\n\n**Note:** The API response example shows a successful deletion.\n\n*Response*\n```\nHTTP/1.1 204 No Content\n```", "auth": { "type": "basic", "basic": { "username": "{{username}}", "password": "{{apiToken}}" } } }, "response": [] } ] } ], "variable": [ { "key": "protocol", "name": "Protocol", "description": "The HTTP Protocol that should be used for this REST API.", "type": "string", "value": "https" }, { "key": "host", "name": "Host", "description": "The HTTP host that should be used for this REST API.", "type": "string", "value": "api.atlassian.com" }, { "key": "basePath", "name": "Base Path", "description": "The path, after the host, of the base of the REST API.", "type": "string", "value": "marketplace/" } ] }