{"files":{"SKILL.md":"---\nname: app-center-client\ndescription: \"App Center Client API skill. Use when working with App Center Client for v0.1. Covers 305 endpoints.\"\nversion: 1.0.0\ngenerator: lapsh\n---\n\n# App Center Client\nAPI version: v0.1\n\n## Auth\nApiKey X-API-Token in header | basic\n\n## Base URL\nhttps://api.appcenter.ms/\n\n## Setup\n1. Set your API key in the appropriate header\n2. GET /v0.1/user/notifications/emailSettings -- get default email notification settings for the user\n3. POST /v0.1/users/{user_id}/devices/register -- create first register\n\n## Endpoints\n305 endpoints across 1 group. See references/api-spec.lap for full details.\n\n### V0.1\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | /v0.1/users/{user_id}/devices/register | Registers a user for an existing device |\n| GET | /v0.1/user/notifications/emailSettings | Get Default email notification settings for the user |\n| GET | /v0.1/user/metadata/optimizely |  |\n| POST | /v0.1/user/invitations/orgs/{invitation_token}/reject | Rejects a pending organization invitation |\n| POST | /v0.1/user/invitations/orgs/{invitation_token}/accept | Accepts a pending organization invitation for the specified user |\n| POST | /v0.1/user/invitations/distribution_groups/accept | Accepts all pending invitations to distribution groups for the specified user |\n| POST | /v0.1/user/invitations/apps/{invitation_token}/reject | Rejects a pending invitation for the specified user |\n| POST | /v0.1/user/invitations/apps/{invitation_token}/accept | Accepts a pending invitation for the specified user |\n| GET | /v0.1/user/export/serviceConnections | Gets all service connections of the service type for GDPR export. |\n| POST | /v0.1/user/dsr/export/{token}/cancel |  |\n| GET | /v0.1/user/dsr/export/{token} |  |\n| POST | /v0.1/user/dsr/export |  |\n| POST | /v0.1/user/dsr/delete/{token}/cancel |  |\n| GET | /v0.1/user/dsr/delete/{token} |  |\n| POST | /v0.1/user/dsr/delete |  |\n| GET | /v0.1/user/devices/{device_udid} | Returns the device details. |\n| DELETE | /v0.1/user/devices/{device_udid} | Removes an existing device from a user |\n| GET | /v0.1/user/devices | Returns all devices associated with the given user. |\n| GET | /v0.1/user | Returns the user profile data |\n| PATCH | /v0.1/user | Updates the user profile and returns the updated user data |\n| GET | /v0.1/sdk/apps/{app_secret}/releases/{release_hash} | If 'latest' is not specified then it will return the specified release if it's enabled. If 'latest' is specified, regardless of whether a release hash is provided, the latest enabled release is returned. |\n| GET | /v0.1/sdk/apps/{app_secret}/releases/private/latest | Get the latest release distributed to a private group the given user is a member of for the given app. |\n| GET | /v0.1/public/sparkle/apps/{app_secret} | Gets the sparkle feed of the releases that are distributed to all the public distribution groups. |\n| GET | /v0.1/public/sdk/apps/{app_secret}/releases/{release_hash}/public_distribution_groups | Get all public distribution groups that a given release has been distributed to |\n| GET | /v0.1/public/sdk/apps/{app_secret}/releases/latest | Get the latest public release for the given app. |\n| GET | /v0.1/public/sdk/apps/{app_secret}/distribution_groups/{distribution_group_id}/releases/latest | Get a release with 'latest' for the given public group. |\n| POST | /v0.1/public/apps/{owner_name}/{app_name}/install_analytics | Notify download(s) for the provided distribution release(s). |\n| GET | /v0.1/public/apps/{app_id}/releases/{release_id}/ios_manifest | Returns the manifest.plist in XML format for installing the release on a device. Only available for iOS. |\n| GET | /v0.1/orgs/{org_name}/users/{user_name}/apps | Get a user apps information from an organization by name |\n| PATCH | /v0.1/orgs/{org_name}/users/{user_name} | Updates the given organization user |\n| DELETE | /v0.1/orgs/{org_name}/users/{user_name} | Removes a user from an organization. |\n| GET | /v0.1/orgs/{org_name}/users/{user_name} | Get a user information from an organization by name - if there is explicit permission return it, if not if not return highest implicit permission |\n| GET | /v0.1/orgs/{org_name}/users | Returns a list of users that belong to an organization |\n| GET | /v0.1/orgs/{org_name}/testers | Returns a unique list of users including the whole organization members plus testers in any shared group of that org |\n| DELETE | /v0.1/orgs/{org_name}/teams/{team_name}/users/{user_name} | Removes a user from a team that is owned by an organization |\n| GET | /v0.1/orgs/{org_name}/teams/{team_name}/users | Returns the users of a team which is owned by an organization |\n| POST | /v0.1/orgs/{org_name}/teams/{team_name}/users | Adds a new user to a team that is owned by an organization |\n| PATCH | /v0.1/orgs/{org_name}/teams/{team_name}/apps/{app_name} | Updates the permissions the team has to the app |\n| DELETE | /v0.1/orgs/{org_name}/teams/{team_name}/apps/{app_name} | Removes an app from a team |\n| POST | /v0.1/orgs/{org_name}/teams/{team_name}/apps | Adds an app to a team |\n| GET | /v0.1/orgs/{org_name}/teams/{team_name}/apps | Returns the apps a team has access to |\n| GET | /v0.1/orgs/{org_name}/teams/{team_name} | Returns the details of a single team |\n| DELETE | /v0.1/orgs/{org_name}/teams/{team_name} | Deletes a single team |\n| PATCH | /v0.1/orgs/{org_name}/teams/{team_name} | Updates a single team |\n| GET | /v0.1/orgs/{org_name}/teams | Returns the list of all teams in this org |\n| POST | /v0.1/orgs/{org_name}/teams | Creates a team and returns it |\n| POST | /v0.1/orgs/{org_name}/invitations/{email}/revoke | Removes a user's invitation to an organization |\n| POST | /v0.1/orgs/{org_name}/invitations/{email}/resend | Cancels an existing organization invitation for the user and sends a new one |\n| PATCH | /v0.1/orgs/{org_name}/invitations/{email} | Allows the role of an invited user to be changed |\n| POST | /v0.1/orgs/{org_name}/invitations | Invites a new or existing user to an organization |\n| DELETE | /v0.1/orgs/{org_name}/invitations | Removes a user's invitation to an organization |\n| GET | /v0.1/orgs/{org_name}/invitations | Gets the pending invitations for the organization |\n| GET | /v0.1/orgs/{org_name}/distribution_groups_details | Returns a list of distribution groups with details for an organization |\n| POST | /v0.1/orgs/{org_name}/distribution_groups/{distribution_group_name}/resend_invite | Resend shared distribution group invite notification to previously invited testers |\n| POST | /v0.1/orgs/{org_name}/distribution_groups/{distribution_group_name}/members/bulk_delete | Delete testers from distribution group in an org |\n| GET | /v0.1/orgs/{org_name}/distribution_groups/{distribution_group_name}/members | Returns a list of member in the distribution group specified |\n| POST | /v0.1/orgs/{org_name}/distribution_groups/{distribution_group_name}/members | Accepts an array of user email addresses to get added to the specified group |\n| POST | /v0.1/orgs/{org_name}/distribution_groups/{distribution_group_name}/apps/bulk_delete | Delete apps from distribution group in an org |\n| GET | /v0.1/orgs/{org_name}/distribution_groups/{distribution_group_name}/apps | Get apps from a distribution group in an org |\n| POST | /v0.1/orgs/{org_name}/distribution_groups/{distribution_group_name}/apps | Add apps to distribution group in an org |\n| GET | /v0.1/orgs/{org_name}/distribution_groups/{distribution_group_name} | Returns a single distribution group in org for a given distribution group name |\n| PATCH | /v0.1/orgs/{org_name}/distribution_groups/{distribution_group_name} | Update one given distribution group name in an org |\n| DELETE | /v0.1/orgs/{org_name}/distribution_groups/{distribution_group_name} | Deletes a single distribution group from an org with a given distribution group name |\n| POST | /v0.1/orgs/{org_name}/distribution_groups | Creates a disribution goup which can be shared across apps under an organization |\n| GET | /v0.1/orgs/{org_name}/distribution_groups | Returns a list of distribution groups in the org specified |\n| GET | /v0.1/orgs/{org_name}/azure_subscriptions | Returns a list of azure subscriptions for the organization |\n| POST | /v0.1/orgs/{org_name}/avatar | Sets the organization avatar |\n| DELETE | /v0.1/orgs/{org_name}/avatar | Deletes the uploaded organization avatar |\n| POST | /v0.1/orgs/{org_name}/apps | Creates a new app for the organization and returns it to the caller |\n| GET | /v0.1/orgs/{org_name}/apps | Returns a list of apps for the organization |\n| GET | /v0.1/orgs/{org_name} | Returns the details of a single organization |\n| PATCH | /v0.1/orgs/{org_name} | Returns a list of organizations the requesting user has access to |\n| DELETE | /v0.1/orgs/{org_name} | Deletes a single organization |\n| POST | /v0.1/orgs | Creates a new organization and returns it to the caller |\n| GET | /v0.1/orgs | Returns a list of organizations the requesting user has access to |\n| GET | /v0.1/invitations/sent | Returns all invitations sent by the caller |\n| GET | /v0.1/azure_subscriptions | Returns a list of azure subscriptions for the user |\n| GET | /v0.1/apps/{owner_name}/{app_name}/webhooks | Get web hooks configured for a particular app |\n| GET | /v0.1/apps/{owner_name}/{app_name}/versions | Gets a list of application versions. |\n| DELETE | /v0.1/apps/{owner_name}/{app_name}/users/{user_email} | Removes the user from the app |\n| PATCH | /v0.1/apps/{owner_name}/{app_name}/users/{user_email} | Update user permission for the app |\n| GET | /v0.1/apps/{owner_name}/{app_name}/users | Returns the users associated with the app specified with the given app name which belongs to the given owner. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/uploads/releases/{upload_id} | Get the current status of the release upload. |\n| PATCH | /v0.1/apps/{owner_name}/{app_name}/uploads/releases/{upload_id} | Update the current status of the release upload. |\n| POST | /v0.1/apps/{owner_name}/{app_name}/uploads/releases | Initiate a new release upload. This API is part of multi-step upload process. |\n| POST | /v0.1/apps/{owner_name}/{app_name}/transfer_to_org | Transfers ownership of an app to a new organization |\n| POST | /v0.1/apps/{owner_name}/{app_name}/transfer/{destination_owner_name} | Transfers ownership of an app to a different user or organization |\n| DELETE | /v0.1/apps/{owner_name}/{app_name}/testers/{tester_id} | Delete the given tester from the all releases |\n| GET | /v0.1/apps/{owner_name}/{app_name}/testers | Returns the testers associated with the app specified with the given app name which belongs to the given owner. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/teams | Returns the details of all teams that have access to the app. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/symbols/{symbol_id}/status | Returns a particular symbol by id (uuid) for the provided application |\n| GET | /v0.1/apps/{owner_name}/{app_name}/symbols/{symbol_id}/location | Gets the URL to download the symbol |\n| POST | /v0.1/apps/{owner_name}/{app_name}/symbols/{symbol_id}/ignore | Marks a symbol by id (uuid) as ignored |\n| GET | /v0.1/apps/{owner_name}/{app_name}/symbols/{symbol_id} | Returns a particular symbol by id (uuid) for the provided application |\n| GET | /v0.1/apps/{owner_name}/{app_name}/symbols | Returns the list of all symbols for the provided application |\n| GET | /v0.1/apps/{owner_name}/{app_name}/symbol_uploads/{symbol_upload_id}/location | Gets the URL to download the symbol upload |\n| GET | /v0.1/apps/{owner_name}/{app_name}/symbol_uploads/{symbol_upload_id} | Gets a symbol upload by id for the specified application |\n| PATCH | /v0.1/apps/{owner_name}/{app_name}/symbol_uploads/{symbol_upload_id} | Commits or aborts the symbol upload process for a new set of symbols for the specified application |\n| DELETE | /v0.1/apps/{owner_name}/{app_name}/symbol_uploads/{symbol_upload_id} | Deletes a symbol upload by id for the specified application |\n| GET | /v0.1/apps/{owner_name}/{app_name}/symbol_uploads | Gets a list of all uploads for the specified application |\n| POST | /v0.1/apps/{owner_name}/{app_name}/symbol_uploads | Begins the symbol upload process for a new set of symbols for the specified application |\n| GET | /v0.1/apps/{owner_name}/{app_name}/store_service_status | Application specific store service status |\n| GET | /v0.1/apps/{owner_name}/{app_name}/releases/{release_id}/update_devices/{resign_id} | Returns the resign status to the caller |\n| PUT | /v0.1/apps/{owner_name}/{app_name}/releases/{release_id}/testers/{tester_id} | Update details about the specified tester associated with the release |\n| DELETE | /v0.1/apps/{owner_name}/{app_name}/releases/{release_id}/testers/{tester_id} | Delete the given tester from the release |\n| POST | /v0.1/apps/{owner_name}/{app_name}/releases/{release_id}/testers | Distributes a release to a user |\n| DELETE | /v0.1/apps/{owner_name}/{app_name}/releases/{release_id}/stores/{store_id} | Delete the given distribution store from the release |\n| POST | /v0.1/apps/{owner_name}/{app_name}/releases/{release_id}/stores | Distributes a release to a store |\n| GET | /v0.1/apps/{owner_name}/{app_name}/releases/{release_id}/provisioning_profile | Return information about the provisioning profile. Only available for iOS. |\n| PUT | /v0.1/apps/{owner_name}/{app_name}/releases/{release_id}/groups/{group_id} | Update details about the specified distribution group associated with the release |\n| DELETE | /v0.1/apps/{owner_name}/{app_name}/releases/{release_id}/groups/{group_id} | Delete the given distribution group from the release |\n| POST | /v0.1/apps/{owner_name}/{app_name}/releases/{release_id}/groups | Distributes a release to a group |\n| GET | /v0.1/apps/{owner_name}/{app_name}/releases/{release_id} | Get a release with id `release_id`. If `release_id` is `latest`, return the latest release that was distributed to the current user (from all the distribution groups). |\n| PUT | /v0.1/apps/{owner_name}/{app_name}/releases/{release_id} | Update details of a release. |\n| PATCH | /v0.1/apps/{owner_name}/{app_name}/releases/{release_id} | Updates a release. |\n| DELETE | /v0.1/apps/{owner_name}/{app_name}/releases/{release_id} | Deletes a release. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/releases/filter_by_tester | Return detailed information about releases avaiable to a tester. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/releases | Return basic information about releases. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/recent_releases | Get the latest release from every distribution group associated with an application. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/notifications/emailSettings | Get Email notification settings of user for a particular app |\n| POST | /v0.1/apps/{owner_name}/{app_name}/invitations/{user_email} | Invites a new or existing user to an app |\n| PATCH | /v0.1/apps/{owner_name}/{app_name}/invitations/{user_email} | Update pending invitation permission |\n| DELETE | /v0.1/apps/{owner_name}/{app_name}/invitations/{user_email} | Removes a user's invitation to an app |\n| POST | /v0.1/apps/{owner_name}/{app_name}/invitations | Invites a new or existing user to an app |\n| GET | /v0.1/apps/{owner_name}/{app_name}/invitations | Gets the pending invitations for the app |\n| POST | /v0.1/apps/{owner_name}/{app_name}/export_configurations_aks/{export_configuration_id}/enable | Enable export configuration. |\n| POST | /v0.1/apps/{owner_name}/{app_name}/export_configurations_aks/{export_configuration_id}/disable | Disable export configuration. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/export_configurations_aks/{export_configuration_id} | Get export configuration. |\n| PATCH | /v0.1/apps/{owner_name}/{app_name}/export_configurations_aks/{export_configuration_id} | Partially update export configuration. |\n| DELETE | /v0.1/apps/{owner_name}/{app_name}/export_configurations_aks/{export_configuration_id} | Delete export configuration. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/export_configurations_aks | List export configurations. |\n| POST | /v0.1/apps/{owner_name}/{app_name}/export_configurations_aks | Create new export configuration |\n| GET | /v0.1/apps/{owner_name}/{app_name}/errors_aks/{errorId}/sessionLogs | Get session logs by error ID |\n| GET | /v0.1/apps/{owner_name}/{app_name}/errors_aks/{errorId}/attachments/{attachmentId}/text | Error attachment text. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/errors_aks/{errorId}/attachments/{attachmentId}/location | Error attachment location. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/errors_aks/{errorId}/attachments | List error attachments. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/errors_aks/search | Errors list based on search parameters |\n| GET | /v0.1/apps/{owner_name}/{app_name}/errors_aks/retention_settings | gets the retention settings in days |\n| GET | /v0.1/apps/{owner_name}/{app_name}/errors_aks/errorfreeDevicePercentages | Percentage of error-free devices by day in the time range based on the selected versions. If SingleErrorTypeParameter is not provided, defaults to handlederror. API will return -1 if crash devices is greater than active devices |\n| GET | /v0.1/apps/{owner_name}/{app_name}/errors_aks/errorGroups/{errorGroupId}/stacktrace | Gets the stack trace for the error group. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/errors_aks/errorGroups/{errorGroupId}/operatingSystems | Top OSes of the selected error group. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/errors_aks/errorGroups/{errorGroupId}/models | Top models of the selected error group. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/errors_aks/errorGroups/{errorGroupId}/errors/{errorId}/stacktrace | Error Stacktrace details. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/errors_aks/errorGroups/{errorGroupId}/errors/{errorId}/location | Error location. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/errors_aks/errorGroups/{errorGroupId}/errors/{errorId}/download | Download details for a specific error. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/errors_aks/errorGroups/{errorGroupId}/errors/{errorId} | Error details. |\n| DELETE | /v0.1/apps/{owner_name}/{app_name}/errors_aks/errorGroups/{errorGroupId}/errors/{errorId} | Delete a specific error and related attachments and blobs for an app. Searchable data will not be deleted immediately and may take up to 30 days. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/errors_aks/errorGroups/{errorGroupId}/errors/latest | Latest error details. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/errors_aks/errorGroups/{errorGroupId}/errors | Get all errors for group |\n| GET | /v0.1/apps/{owner_name}/{app_name}/errors_aks/errorGroups/{errorGroupId}/errorfreeDevicePercentages | Percentage of error-free devices by day in the time range. Api will return -1 if crash devices is greater than active devices |\n| GET | /v0.1/apps/{owner_name}/{app_name}/errors_aks/errorGroups/{errorGroupId}/errorCountsPerDay | Count of errors by day in the time range of the selected error group with selected version |\n| GET | /v0.1/apps/{owner_name}/{app_name}/errors_aks/errorGroups/{errorGroupId} | Error group details |\n| PATCH | /v0.1/apps/{owner_name}/{app_name}/errors_aks/errorGroups/{errorGroupId} | Update error group state |\n| GET | /v0.1/apps/{owner_name}/{app_name}/errors_aks/errorGroups/search | Error groups list based on search parameters |\n| GET | /v0.1/apps/{owner_name}/{app_name}/errors_aks/errorGroups | List of error groups |\n| GET | /v0.1/apps/{owner_name}/{app_name}/errors_aks/errorCountsPerDay | Count of crashes or errors by day in the time range based the selected versions. If SingleErrorTypeParameter is not provided, defaults to handlederror. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/errors_aks/available_versions | Get all available versions in the time range. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/errors_aks/availableAppBuilds | List of app builds |\n| GET | /v0.1/apps/{owner_name}/{app_name}/errors/{errorId}/sessionLogs | Get session logs by error ID |\n| GET | /v0.1/apps/{owner_name}/{app_name}/errors/{errorId}/attachments/{attachmentId}/text | Error attachment text. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/errors/{errorId}/attachments/{attachmentId}/location | Error attachment location. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/errors/{errorId}/attachments | List error attachments. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/errors/search | Errors list based on search parameters |\n| GET | /v0.1/apps/{owner_name}/{app_name}/errors/retention_settings | gets the retention settings in days |\n| GET | /v0.1/apps/{owner_name}/{app_name}/errors/errorfreeDevicePercentages | Percentage of error-free devices by day in the time range based on the selected versions. If SingleErrorTypeParameter is not provided, defaults to handlederror. API will return -1 if crash devices is greater than active devices |\n| GET | /v0.1/apps/{owner_name}/{app_name}/errors/errorGroups/{errorGroupId}/stacktrace | Gets the stack trace for the error group. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/errors/errorGroups/{errorGroupId}/operatingSystems | Top OSes of the selected error group. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/errors/errorGroups/{errorGroupId}/models | Top models of the selected error group. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/errors/errorGroups/{errorGroupId}/errors/{errorId}/stacktrace | Error Stacktrace details. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/errors/errorGroups/{errorGroupId}/errors/{errorId}/location | Error location. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/errors/errorGroups/{errorGroupId}/errors/{errorId}/download | Download details for a specific error. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/errors/errorGroups/{errorGroupId}/errors/{errorId} | Error details. |\n| DELETE | /v0.1/apps/{owner_name}/{app_name}/errors/errorGroups/{errorGroupId}/errors/{errorId} | Delete a specific error and related attachments and blobs for an app. Searchable data will not be deleted immediately and may take up to 30 days. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/errors/errorGroups/{errorGroupId}/errors/latest | Latest error details. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/errors/errorGroups/{errorGroupId}/errors | Get all errors for group |\n| GET | /v0.1/apps/{owner_name}/{app_name}/errors/errorGroups/{errorGroupId}/errorfreeDevicePercentages | Percentage of error-free devices by day in the time range. Api will return -1 if crash devices is greater than active devices |\n| GET | /v0.1/apps/{owner_name}/{app_name}/errors/errorGroups/{errorGroupId}/errorCountsPerDay | Count of errors by day in the time range of the selected error group with selected version |\n| GET | /v0.1/apps/{owner_name}/{app_name}/errors/errorGroups/{errorGroupId} | Error group details |\n| PATCH | /v0.1/apps/{owner_name}/{app_name}/errors/errorGroups/{errorGroupId} | Update error group state |\n| GET | /v0.1/apps/{owner_name}/{app_name}/errors/errorGroups/search | Error groups list based on search parameters |\n| GET | /v0.1/apps/{owner_name}/{app_name}/errors/errorGroups | List of error groups |\n| GET | /v0.1/apps/{owner_name}/{app_name}/errors/errorCountsPerDay | Count of crashes or errors by day in the time range based the selected versions. If SingleErrorTypeParameter is not provided, defaults to handlederror. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/errors/available_versions | Get all available versions in the time range. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/errors/availableAppBuilds | List of app builds |\n| GET | /v0.1/apps/{owner_name}/{app_name}/distribution_stores/{store_name}/releases/{release_id}/realtimestatus | Return the Real time Status publishing of release from store. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/distribution_stores/{store_name}/releases/{release_id}/publish_logs | Returns publish logs for a particular release published to a particular store |\n| GET | /v0.1/apps/{owner_name}/{app_name}/distribution_stores/{store_name}/releases/{release_id}/publish_error_details | Return the Error Details of release which failed in publishing. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/distribution_stores/{store_name}/releases/{release_id} | Return releases published in a store for releaseId and storeId |\n| DELETE | /v0.1/apps/{owner_name}/{app_name}/distribution_stores/{store_name}/releases/{release_id} | delete the release with release Id |\n| GET | /v0.1/apps/{owner_name}/{app_name}/distribution_stores/{store_name}/releases | Return all releases published  in a store |\n| GET | /v0.1/apps/{owner_name}/{app_name}/distribution_stores/{store_name}/latest_release | Returns the latest release published in a store. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/distribution_stores/{store_name} | Return the store details for specified store name. |\n| PATCH | /v0.1/apps/{owner_name}/{app_name}/distribution_stores/{store_name} | Update the store. |\n| DELETE | /v0.1/apps/{owner_name}/{app_name}/distribution_stores/{store_name} | delete the store based on specific store name. |\n| POST | /v0.1/apps/{owner_name}/{app_name}/distribution_stores | Create a new external store for the specified application. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/distribution_stores | Get all the store details from Storage store table for a particular application. |\n| POST | /v0.1/apps/{owner_name}/{app_name}/distribution_groups/{distribution_group_name}/resend_invite | Resend distribution group app invite notification to previously invited testers |\n| GET | /v0.1/apps/{owner_name}/{app_name}/distribution_groups/{distribution_group_name}/releases/{release_id} | Return detailed information about a distributed release in a given distribution group. |\n| DELETE | /v0.1/apps/{owner_name}/{app_name}/distribution_groups/{distribution_group_name}/releases/{release_id} | Deletes a release with id 'release_id' in a given distribution group. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/distribution_groups/{distribution_group_name}/releases | Return basic information about distributed releases in a given distribution group. |\n| POST | /v0.1/apps/{owner_name}/{app_name}/distribution_groups/{distribution_group_name}/members/bulk_delete | Remove the users from the distribution group |\n| GET | /v0.1/apps/{owner_name}/{app_name}/distribution_groups/{distribution_group_name}/members | Returns a list of member details in the distribution group specified |\n| POST | /v0.1/apps/{owner_name}/{app_name}/distribution_groups/{distribution_group_name}/members | Adds the members to the specified distribution group |\n| GET | /v0.1/apps/{owner_name}/{app_name}/distribution_groups/{distribution_group_name}/devices/download_devices_list | Returns all devices associated with the given distribution group. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/distribution_groups/{distribution_group_name}/devices | Returns all devices associated with the given distribution group |\n| GET | /v0.1/apps/{owner_name}/{app_name}/distribution_groups/{distribution_group_name} | Returns a single distribution group for a given distribution group name |\n| PATCH | /v0.1/apps/{owner_name}/{app_name}/distribution_groups/{distribution_group_name} | Updates the attributes of distribution group |\n| DELETE | /v0.1/apps/{owner_name}/{app_name}/distribution_groups/{distribution_group_name} | Deletes a distribution group |\n| GET | /v0.1/apps/{owner_name}/{app_name}/distribution_groups | Returns a list of distribution groups in the app specified |\n| POST | /v0.1/apps/{owner_name}/{app_name}/distribution_groups | Creates a new distribution group and returns it to the caller |\n| GET | /v0.1/apps/{owner_name}/{app_name}/diagnostics/symbol_groups_info | Gets application level statistics for all missing symbol groups |\n| GET | /v0.1/apps/{owner_name}/{app_name}/diagnostics/symbol_groups/{symbol_group_id} | Gets missing symbol crash group by its id |\n| GET | /v0.1/apps/{owner_name}/{app_name}/diagnostics/symbol_groups | Gets top N (ordered by crash count) of crash groups by missing symbol |\n| GET | /v0.1/apps/{owner_name}/{app_name}/crashes_info | Gets whether the application has any crashes. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/crashes/{crash_id}/attachments/{attachment_id}/text | Gets content of the text attachment. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/crashes/{crash_id}/attachments/{attachment_id}/location | Gets the URI location to download crash attachment. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/crashes/{crash_id}/attachments | Gets all attachments for a specific crash. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/crash_groups/{crash_group_id}/stacktrace | Gets a stacktrace for a specific crash. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/crash_groups/{crash_group_id}/crashes/{crash_id}/stacktrace | Gets a stacktrace for a specific crash. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/crash_groups/{crash_group_id}/crashes/{crash_id}/raw/location | Gets the URI location to download json of a specific crash. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/crash_groups/{crash_group_id}/crashes/{crash_id}/native/download | Gets the native log of a specific crash as a text attachment. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/crash_groups/{crash_group_id}/crashes/{crash_id}/native | Gets the native log of a specific crash. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/crash_groups/{crash_group_id}/crashes/{crash_id} | Gets a specific crash for an app. |\n| DELETE | /v0.1/apps/{owner_name}/{app_name}/crash_groups/{crash_group_id}/crashes/{crash_id} | Delete a specific crash and related attachments and blobs for an app. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/crash_groups/{crash_group_id}/crashes | Gets all crashes of a group. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/crash_groups/{crash_group_id} | Gets a specific group. |\n| PATCH | /v0.1/apps/{owner_name}/{app_name}/crash_groups/{crash_group_id} | Updates a group. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/crash_groups | Gets a list of crash groups and whether the list contains all available groups. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/bugtracker/crashGroup/{crash_group_id} | Get project issue related to a crash group |\n| GET | /v0.1/apps/{owner_name}/{app_name}/bugtracker | Get bug tracker settings for a particular app |\n| DELETE | /v0.1/apps/{owner_name}/{app_name}/azure_subscriptions/{azure_subscription_id} | Delete the azure subscriptions for the app |\n| GET | /v0.1/apps/{owner_name}/{app_name}/azure_subscriptions | Returns a list of azure subscriptions for the app |\n| POST | /v0.1/apps/{owner_name}/{app_name}/azure_subscriptions | Link azure subscription to an app |\n| POST | /v0.1/apps/{owner_name}/{app_name}/avatar | Sets the app avatar |\n| DELETE | /v0.1/apps/{owner_name}/{app_name}/avatar | Deletes the uploaded app avatar |\n| GET | /v0.1/apps/{owner_name}/{app_name}/apple_test_flight_groups | Fetch all apple test flight groups |\n| GET | /v0.1/apps/{owner_name}/{app_name}/apple_mapping | Get mapping of apple app to an existing app in apple store. |\n| DELETE | /v0.1/apps/{owner_name}/{app_name}/apple_mapping | Delete mapping of apple app to an existing app in apple store. |\n| POST | /v0.1/apps/{owner_name}/{app_name}/apple_mapping | Create a mapping for an existing app in apple store for the specified application. |\n| DELETE | /v0.1/apps/{owner_name}/{app_name}/api_tokens/{api_token_id} | Delete the App Api Token object with the specific ID |\n| GET | /v0.1/apps/{owner_name}/{app_name}/api_tokens | Returns App API tokens for the app |\n| POST | /v0.1/apps/{owner_name}/{app_name}/api_tokens | Creates a new App API token |\n| GET | /v0.1/apps/{owner_name}/{app_name}/analytics_aks/versions | Count of active versions in the time range ordered by version. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/analytics_aks/sessions_per_device | Count of sessions per device in the time range. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/analytics_aks/session_durations_distribution | Gets session duration. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/analytics_aks/session_counts | Count of sessions in the time range. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/analytics_aks/places | Places in the time range. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/analytics_aks/oses | OSes in the time range. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/analytics_aks/models | Models in the time range. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/analytics_aks/languages | Languages in the time range. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/analytics_aks/events/{event_name}/properties/{event_property_name}/counts | Event properties value counts during the time range in descending order. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/analytics_aks/events/{event_name}/properties | Event properties. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/analytics_aks/events/{event_name}/event_count | Count of events by interval in the time range. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/analytics_aks/events/{event_name}/device_count | Count of devices for an event by interval in the time range. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/analytics_aks/events/{event_name}/count_per_session | Count of events per session by interval in the time range. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/analytics_aks/events/{event_name}/count_per_device | Count of events per device by interval in the time range. |\n| DELETE | /v0.1/apps/{owner_name}/{app_name}/analytics_aks/events/{event_name} | Delete the set of Events with the specified event names. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/analytics_aks/events | Count of active events in the time range ordered by event. |\n| DELETE | /v0.1/apps/{owner_name}/{app_name}/analytics_aks/event_logs/{event_name} | Delete the set of Events with the specified event names. |\n| POST | /v0.1/apps/{owner_name}/{app_name}/analytics_aks/distribution/release_counts | Count of total downloads for the provided distribution releases. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/analytics_aks/crashfree_device_percentages | Percentage of crash-free device by day in the time range based on the selected versions. Api will return -1 if crash devices is greater than active devices. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/analytics_aks/crash_groups/{crash_group_id}/overall | Available for UWP apps only. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/analytics_aks/crash_groups/{crash_group_id}/operating_systems | Available for UWP apps only. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/analytics_aks/crash_groups/{crash_group_id}/models | Available for UWP apps only. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/analytics_aks/crash_groups/{crash_group_id}/crash_counts | Available for UWP apps only. |\n| POST | /v0.1/apps/{owner_name}/{app_name}/analytics_aks/crash_groups | Overall crashes and affected users count of the selected crash groups with selected versions. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/analytics_aks/crash_counts | Available for UWP apps only. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/analytics_aks/active_device_counts | Count of active devices by interval in the time range. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/analytics/versions | Count of active versions in the time range ordered by version. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/analytics/sessions_per_device | Count of sessions per device in the time range. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/analytics/session_durations_distribution | Gets session duration. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/analytics/session_counts | Count of sessions in the time range. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/analytics/places | Places in the time range. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/analytics/oses | OSes in the time range. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/analytics/models | Models in the time range. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/analytics/log_flow | Logs received between the specified start time and the current time. The API will return a maximum of 100 logs per call. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/analytics/languages | Languages in the time range. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/analytics/generic_log_flow | Logs received between the specified start time and the current time. The API will return a maximum of 100 logs per call. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/analytics/events/{event_name}/properties/{event_property_name}/counts | Event properties value counts during the time range in descending order. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/analytics/events/{event_name}/properties | Event properties. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/analytics/events/{event_name}/event_count | Count of events by interval in the time range. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/analytics/events/{event_name}/device_count | Count of devices for an event by interval in the time range. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/analytics/events/{event_name}/count_per_session | Count of events per session by interval in the time range. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/analytics/events/{event_name}/count_per_device | Count of events per device by interval in the time range. |\n| DELETE | /v0.1/apps/{owner_name}/{app_name}/analytics/events/{event_name} | Delete the set of Events with the specified event names. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/analytics/events | Count of active events in the time range ordered by event. |\n| DELETE | /v0.1/apps/{owner_name}/{app_name}/analytics/event_logs/{event_name} | Delete the set of Events with the specified event names. |\n| POST | /v0.1/apps/{owner_name}/{app_name}/analytics/distribution/release_counts | Count of total downloads for the provided distribution releases. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/analytics/crashfree_device_percentages | Percentage of crash-free device by day in the time range based on the selected versions. Api will return -1 if crash devices is greater than active devices. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/analytics/crash_groups/{crash_group_id}/overall | Available for UWP apps only. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/analytics/crash_groups/{crash_group_id}/operating_systems | Available for UWP apps only. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/analytics/crash_groups/{crash_group_id}/models | Available for UWP apps only. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/analytics/crash_groups/{crash_group_id}/crash_counts | Available for UWP apps only. |\n| POST | /v0.1/apps/{owner_name}/{app_name}/analytics/crash_groups | Overall crashes and affected users count of the selected crash groups with selected versions. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/analytics/crash_counts | Available for UWP apps only. |\n| GET | /v0.1/apps/{owner_name}/{app_name}/analytics/active_device_counts | Count of active devices by interval in the time range. |\n| GET | /v0.1/apps/{owner_name}/{app_name} | Return a specific app with the given app name which belongs to the given owner. |\n| PATCH | /v0.1/apps/{owner_name}/{app_name} | Partially updates a single app |\n| DELETE | /v0.1/apps/{owner_name}/{app_name} | Delete an app |\n| POST | /v0.1/apps | Creates a new app and returns it to the caller |\n| GET | /v0.1/apps | Returns a list of apps |\n| DELETE | /v0.1/api_tokens/{api_token_id} | Delete the user api_token object with the specific id |\n| GET | /v0.1/api_tokens | Returns api tokens for the authenticated user |\n| POST | /v0.1/api_tokens | Creates a new User API token |\n| GET | /v0.1/administeredOrgs | Returns a list organizations in which the requesting user is an admin |\n\n## Common Questions\nMatch user requests to endpoints in references/api-spec.lap. Key patterns:\n- \"Create a register?\" -> POST /v0.1/users/{user_id}/devices/register\n- \"List all emailSettings?\" -> GET /v0.1/user/notifications/emailSettings\n- \"List all optimizely?\" -> GET /v0.1/user/metadata/optimizely\n- \"Create a reject?\" -> POST /v0.1/user/invitations/orgs/{invitation_token}/reject\n- \"Create a accept?\" -> POST /v0.1/user/invitations/orgs/{invitation_token}/accept\n- \"List all serviceConnections?\" -> GET /v0.1/user/export/serviceConnections\n- \"Create a cancel?\" -> POST /v0.1/user/dsr/export/{token}/cancel\n- \"Get export details?\" -> GET /v0.1/user/dsr/export/{token}\n- \"Create a export?\" -> POST /v0.1/user/dsr/export\n- \"Get delete details?\" -> GET /v0.1/user/dsr/delete/{token}\n- \"Create a delete?\" -> POST /v0.1/user/dsr/delete\n- \"Get device details?\" -> GET /v0.1/user/devices/{device_udid}\n- \"Delete a device?\" -> DELETE /v0.1/user/devices/{device_udid}\n- \"List all devices?\" -> GET /v0.1/user/devices\n- \"List all user?\" -> GET /v0.1/user\n- \"Get release details?\" -> GET /v0.1/sdk/apps/{app_secret}/releases/{release_hash}\n- \"List all latest?\" -> GET /v0.1/sdk/apps/{app_secret}/releases/private/latest\n- \"Get app details?\" -> GET /v0.1/public/sparkle/apps/{app_secret}\n- \"List all public_distribution_groups?\" -> GET /v0.1/public/sdk/apps/{app_secret}/releases/{release_hash}/public_distribution_groups\n- \"Create a install_analytic?\" -> POST /v0.1/public/apps/{owner_name}/{app_name}/install_analytics\n- \"List all ios_manifest?\" -> GET /v0.1/public/apps/{app_id}/releases/{release_id}/ios_manifest\n- \"List all apps?\" -> GET /v0.1/orgs/{org_name}/users/{user_name}/apps\n- \"Partially update a user?\" -> PATCH /v0.1/orgs/{org_name}/users/{user_name}\n- \"Delete a user?\" -> DELETE /v0.1/orgs/{org_name}/users/{user_name}\n- \"Get user details?\" -> GET /v0.1/orgs/{org_name}/users/{user_name}\n- \"List all users?\" -> GET /v0.1/orgs/{org_name}/users\n- \"List all testers?\" -> GET /v0.1/orgs/{org_name}/testers\n- \"Create a user?\" -> POST /v0.1/orgs/{org_name}/teams/{team_name}/users\n- \"Partially update a app?\" -> PATCH /v0.1/orgs/{org_name}/teams/{team_name}/apps/{app_name}\n- \"Delete a app?\" -> DELETE /v0.1/orgs/{org_name}/teams/{team_name}/apps/{app_name}\n- \"Create a app?\" -> POST /v0.1/orgs/{org_name}/teams/{team_name}/apps\n- \"Get team details?\" -> GET /v0.1/orgs/{org_name}/teams/{team_name}\n- \"Delete a team?\" -> DELETE /v0.1/orgs/{org_name}/teams/{team_name}\n- \"Partially update a team?\" -> PATCH /v0.1/orgs/{org_name}/teams/{team_name}\n- \"List all teams?\" -> GET /v0.1/orgs/{org_name}/teams\n- \"Create a team?\" -> POST /v0.1/orgs/{org_name}/teams\n- \"Create a revoke?\" -> POST /v0.1/orgs/{org_name}/invitations/{email}/revoke\n- \"Create a resend?\" -> POST /v0.1/orgs/{org_name}/invitations/{email}/resend\n- \"Partially update a invitation?\" -> PATCH /v0.1/orgs/{org_name}/invitations/{email}\n- \"Create a invitation?\" -> POST /v0.1/orgs/{org_name}/invitations\n- \"List all invitations?\" -> GET /v0.1/orgs/{org_name}/invitations\n- \"List all distribution_groups_details?\" -> GET /v0.1/orgs/{org_name}/distribution_groups_details\n- \"Create a resend_invite?\" -> POST /v0.1/orgs/{org_name}/distribution_groups/{distribution_group_name}/resend_invite\n- \"Create a bulk_delete?\" -> POST /v0.1/orgs/{org_name}/distribution_groups/{distribution_group_name}/members/bulk_delete\n- \"List all members?\" -> GET /v0.1/orgs/{org_name}/distribution_groups/{distribution_group_name}/members\n- \"Create a member?\" -> POST /v0.1/orgs/{org_name}/distribution_groups/{distribution_group_name}/members\n- \"Get distribution_group details?\" -> GET /v0.1/orgs/{org_name}/distribution_groups/{distribution_group_name}\n- \"Partially update a distribution_group?\" -> PATCH /v0.1/orgs/{org_name}/distribution_groups/{distribution_group_name}\n- \"Delete a distribution_group?\" -> DELETE /v0.1/orgs/{org_name}/distribution_groups/{distribution_group_name}\n- \"Create a distribution_group?\" -> POST /v0.1/orgs/{org_name}/distribution_groups\n- \"List all distribution_groups?\" -> GET /v0.1/orgs/{org_name}/distribution_groups\n- \"List all azure_subscriptions?\" -> GET /v0.1/orgs/{org_name}/azure_subscriptions\n- \"Create a avatar?\" -> POST /v0.1/orgs/{org_name}/avatar\n- \"Get org details?\" -> GET /v0.1/orgs/{org_name}\n- \"Partially update a org?\" -> PATCH /v0.1/orgs/{org_name}\n- \"Delete a org?\" -> DELETE /v0.1/orgs/{org_name}\n- \"Create a org?\" -> POST /v0.1/orgs\n- \"List all orgs?\" -> GET /v0.1/orgs\n- \"List all sent?\" -> GET /v0.1/invitations/sent\n- \"List all webhooks?\" -> GET /v0.1/apps/{owner_name}/{app_name}/webhooks\n- \"List all versions?\" -> GET /v0.1/apps/{owner_name}/{app_name}/versions\n- \"Partially update a release?\" -> PATCH /v0.1/apps/{owner_name}/{app_name}/uploads/releases/{upload_id}\n- \"Create a release?\" -> POST /v0.1/apps/{owner_name}/{app_name}/uploads/releases\n- \"Create a transfer_to_org?\" -> POST /v0.1/apps/{owner_name}/{app_name}/transfer_to_org\n- \"Delete a tester?\" -> DELETE /v0.1/apps/{owner_name}/{app_name}/testers/{tester_id}\n- \"List all status?\" -> GET /v0.1/apps/{owner_name}/{app_name}/symbols/{symbol_id}/status\n- \"List all location?\" -> GET /v0.1/apps/{owner_name}/{app_name}/symbols/{symbol_id}/location\n- \"Create a ignore?\" -> POST /v0.1/apps/{owner_name}/{app_name}/symbols/{symbol_id}/ignore\n- \"Get symbol details?\" -> GET /v0.1/apps/{owner_name}/{app_name}/symbols/{symbol_id}\n- \"List all symbols?\" -> GET /v0.1/apps/{owner_name}/{app_name}/symbols\n- \"Get symbol_upload details?\" -> GET /v0.1/apps/{owner_name}/{app_name}/symbol_uploads/{symbol_upload_id}\n- \"Partially update a symbol_upload?\" -> PATCH /v0.1/apps/{owner_name}/{app_name}/symbol_uploads/{symbol_upload_id}\n- \"Delete a symbol_upload?\" -> DELETE /v0.1/apps/{owner_name}/{app_name}/symbol_uploads/{symbol_upload_id}\n- \"List all symbol_uploads?\" -> GET /v0.1/apps/{owner_name}/{app_name}/symbol_uploads\n- \"Create a symbol_upload?\" -> POST /v0.1/apps/{owner_name}/{app_name}/symbol_uploads\n- \"List all store_service_status?\" -> GET /v0.1/apps/{owner_name}/{app_name}/store_service_status\n- \"Get update_device details?\" -> GET /v0.1/apps/{owner_name}/{app_name}/releases/{release_id}/update_devices/{resign_id}\n- \"Update a tester?\" -> PUT /v0.1/apps/{owner_name}/{app_name}/releases/{release_id}/testers/{tester_id}\n- \"Create a tester?\" -> POST /v0.1/apps/{owner_name}/{app_name}/releases/{release_id}/testers\n- \"Delete a store?\" -> DELETE /v0.1/apps/{owner_name}/{app_name}/releases/{release_id}/stores/{store_id}\n- \"Create a store?\" -> POST /v0.1/apps/{owner_name}/{app_name}/releases/{release_id}/stores\n- \"List all provisioning_profile?\" -> GET /v0.1/apps/{owner_name}/{app_name}/releases/{release_id}/provisioning_profile\n- \"Update a group?\" -> PUT /v0.1/apps/{owner_name}/{app_name}/releases/{release_id}/groups/{group_id}\n- \"Delete a group?\" -> DELETE /v0.1/apps/{owner_name}/{app_name}/releases/{release_id}/groups/{group_id}\n- \"Create a group?\" -> POST /v0.1/apps/{owner_name}/{app_name}/releases/{release_id}/groups\n- \"Update a release?\" -> PUT /v0.1/apps/{owner_name}/{app_name}/releases/{release_id}\n- \"Delete a release?\" -> DELETE /v0.1/apps/{owner_name}/{app_name}/releases/{release_id}\n- \"List all filter_by_tester?\" -> GET /v0.1/apps/{owner_name}/{app_name}/releases/filter_by_tester\n- \"List all releases?\" -> GET /v0.1/apps/{owner_name}/{app_name}/releases\n- \"List all recent_releases?\" -> GET /v0.1/apps/{owner_name}/{app_name}/recent_releases\n- \"Delete a invitation?\" -> DELETE /v0.1/apps/{owner_name}/{app_name}/invitations/{user_email}\n- \"Create a enable?\" -> POST /v0.1/apps/{owner_name}/{app_name}/export_configurations_aks/{export_configuration_id}/enable\n- \"Create a disable?\" -> POST /v0.1/apps/{owner_name}/{app_name}/export_configurations_aks/{export_configuration_id}/disable\n- \"Get export_configurations_ak details?\" -> GET /v0.1/apps/{owner_name}/{app_name}/export_configurations_aks/{export_configuration_id}\n- \"Partially update a export_configurations_ak?\" -> PATCH /v0.1/apps/{owner_name}/{app_name}/export_configurations_aks/{export_configuration_id}\n- \"Delete a export_configurations_ak?\" -> DELETE /v0.1/apps/{owner_name}/{app_name}/export_configurations_aks/{export_configuration_id}\n- \"List all export_configurations_aks?\" -> GET /v0.1/apps/{owner_name}/{app_name}/export_configurations_aks\n- \"Create a export_configurations_ak?\" -> POST /v0.1/apps/{owner_name}/{app_name}/export_configurations_aks\n- \"List all sessionLogs?\" -> GET /v0.1/apps/{owner_name}/{app_name}/errors_aks/{errorId}/sessionLogs\n- \"List all text?\" -> GET /v0.1/apps/{owner_name}/{app_name}/errors_aks/{errorId}/attachments/{attachmentId}/text\n- \"List all attachments?\" -> GET /v0.1/apps/{owner_name}/{app_name}/errors_aks/{errorId}/attachments\n- \"Search search?\" -> GET /v0.1/apps/{owner_name}/{app_name}/errors_aks/search\n- \"List all retention_settings?\" -> GET /v0.1/apps/{owner_name}/{app_name}/errors_aks/retention_settings\n- \"List all errorfreeDevicePercentages?\" -> GET /v0.1/apps/{owner_name}/{app_name}/errors_aks/errorfreeDevicePercentages\n- \"List all stacktrace?\" -> GET /v0.1/apps/{owner_name}/{app_name}/errors_aks/errorGroups/{errorGroupId}/stacktrace\n- \"List all operatingSystems?\" -> GET /v0.1/apps/{owner_name}/{app_name}/errors_aks/errorGroups/{errorGroupId}/operatingSystems\n- \"List all models?\" -> GET /v0.1/apps/{owner_name}/{app_name}/errors_aks/errorGroups/{errorGroupId}/models\n- \"List all download?\" -> GET /v0.1/apps/{owner_name}/{app_name}/errors_aks/errorGroups/{errorGroupId}/errors/{errorId}/download\n- \"Get error details?\" -> GET /v0.1/apps/{owner_name}/{app_name}/errors_aks/errorGroups/{errorGroupId}/errors/{errorId}\n- \"Delete a error?\" -> DELETE /v0.1/apps/{owner_name}/{app_name}/errors_aks/errorGroups/{errorGroupId}/errors/{errorId}\n- \"List all errors?\" -> GET /v0.1/apps/{owner_name}/{app_name}/errors_aks/errorGroups/{errorGroupId}/errors\n- \"List all errorCountsPerDay?\" -> GET /v0.1/apps/{owner_name}/{app_name}/errors_aks/errorGroups/{errorGroupId}/errorCountsPerDay\n- \"Get errorGroup details?\" -> GET /v0.1/apps/{owner_name}/{app_name}/errors_aks/errorGroups/{errorGroupId}\n- \"Partially update a errorGroup?\" -> PATCH /v0.1/apps/{owner_name}/{app_name}/errors_aks/errorGroups/{errorGroupId}\n- \"List all errorGroups?\" -> GET /v0.1/apps/{owner_name}/{app_name}/errors_aks/errorGroups\n- \"List all available_versions?\" -> GET /v0.1/apps/{owner_name}/{app_name}/errors_aks/available_versions\n- \"List all availableAppBuilds?\" -> GET /v0.1/apps/{owner_name}/{app_name}/errors_aks/availableAppBuilds\n- \"List all realtimestatus?\" -> GET /v0.1/apps/{owner_name}/{app_name}/distribution_stores/{store_name}/releases/{release_id}/realtimestatus\n- \"List all publish_logs?\" -> GET /v0.1/apps/{owner_name}/{app_name}/distribution_stores/{store_name}/releases/{release_id}/publish_logs\n- \"List all publish_error_details?\" -> GET /v0.1/apps/{owner_name}/{app_name}/distribution_stores/{store_name}/releases/{release_id}/publish_error_details\n- \"List all latest_release?\" -> GET /v0.1/apps/{owner_name}/{app_name}/distribution_stores/{store_name}/latest_release\n- \"Get distribution_store details?\" -> GET /v0.1/apps/{owner_name}/{app_name}/distribution_stores/{store_name}\n- \"Partially update a distribution_store?\" -> PATCH /v0.1/apps/{owner_name}/{app_name}/distribution_stores/{store_name}\n- \"Delete a distribution_store?\" -> DELETE /v0.1/apps/{owner_name}/{app_name}/distribution_stores/{store_name}\n- \"Create a distribution_store?\" -> POST /v0.1/apps/{owner_name}/{app_name}/distribution_stores\n- \"List all distribution_stores?\" -> GET /v0.1/apps/{owner_name}/{app_name}/distribution_stores\n- \"List all download_devices_list?\" -> GET /v0.1/apps/{owner_name}/{app_name}/distribution_groups/{distribution_group_name}/devices/download_devices_list\n- \"List all symbol_groups_info?\" -> GET /v0.1/apps/{owner_name}/{app_name}/diagnostics/symbol_groups_info\n- \"Get symbol_group details?\" -> GET /v0.1/apps/{owner_name}/{app_name}/diagnostics/symbol_groups/{symbol_group_id}\n- \"List all symbol_groups?\" -> GET /v0.1/apps/{owner_name}/{app_name}/diagnostics/symbol_groups\n- \"List all crashes_info?\" -> GET /v0.1/apps/{owner_name}/{app_name}/crashes_info\n- \"List all native?\" -> GET /v0.1/apps/{owner_name}/{app_name}/crash_groups/{crash_group_id}/crashes/{crash_id}/native\n- \"Get crashe details?\" -> GET /v0.1/apps/{owner_name}/{app_name}/crash_groups/{crash_group_id}/crashes/{crash_id}\n- \"Delete a crashe?\" -> DELETE /v0.1/apps/{owner_name}/{app_name}/crash_groups/{crash_group_id}/crashes/{crash_id}\n- \"List all crashes?\" -> GET /v0.1/apps/{owner_name}/{app_name}/crash_groups/{crash_group_id}/crashes\n- \"Get crash_group details?\" -> GET /v0.1/apps/{owner_name}/{app_name}/crash_groups/{crash_group_id}\n- \"Partially update a crash_group?\" -> PATCH /v0.1/apps/{owner_name}/{app_name}/crash_groups/{crash_group_id}\n- \"List all crash_groups?\" -> GET /v0.1/apps/{owner_name}/{app_name}/crash_groups\n- \"Get crashGroup details?\" -> GET /v0.1/apps/{owner_name}/{app_name}/bugtracker/crashGroup/{crash_group_id}\n- \"List all bugtracker?\" -> GET /v0.1/apps/{owner_name}/{app_name}/bugtracker\n- \"Delete a azure_subscription?\" -> DELETE /v0.1/apps/{owner_name}/{app_name}/azure_subscriptions/{azure_subscription_id}\n- \"Create a azure_subscription?\" -> POST /v0.1/apps/{owner_name}/{app_name}/azure_subscriptions\n- \"List all apple_test_flight_groups?\" -> GET /v0.1/apps/{owner_name}/{app_name}/apple_test_flight_groups\n- \"List all apple_mapping?\" -> GET /v0.1/apps/{owner_name}/{app_name}/apple_mapping\n- \"Create a apple_mapping?\" -> POST /v0.1/apps/{owner_name}/{app_name}/apple_mapping\n- \"Delete a api_token?\" -> DELETE /v0.1/apps/{owner_name}/{app_name}/api_tokens/{api_token_id}\n- \"List all api_tokens?\" -> GET /v0.1/apps/{owner_name}/{app_name}/api_tokens\n- \"Create a api_token?\" -> POST /v0.1/apps/{owner_name}/{app_name}/api_tokens\n- \"List all sessions_per_device?\" -> GET /v0.1/apps/{owner_name}/{app_name}/analytics_aks/sessions_per_device\n- \"List all session_durations_distribution?\" -> GET /v0.1/apps/{owner_name}/{app_name}/analytics_aks/session_durations_distribution\n- \"List all session_counts?\" -> GET /v0.1/apps/{owner_name}/{app_name}/analytics_aks/session_counts\n- \"List all places?\" -> GET /v0.1/apps/{owner_name}/{app_name}/analytics_aks/places\n- \"List all oses?\" -> GET /v0.1/apps/{owner_name}/{app_name}/analytics_aks/oses\n- \"List all languages?\" -> GET /v0.1/apps/{owner_name}/{app_name}/analytics_aks/languages\n- \"List all counts?\" -> GET /v0.1/apps/{owner_name}/{app_name}/analytics_aks/events/{event_name}/properties/{event_property_name}/counts\n- \"List all properties?\" -> GET /v0.1/apps/{owner_name}/{app_name}/analytics_aks/events/{event_name}/properties\n- \"List all event_count?\" -> GET /v0.1/apps/{owner_name}/{app_name}/analytics_aks/events/{event_name}/event_count\n- \"List all device_count?\" -> GET /v0.1/apps/{owner_name}/{app_name}/analytics_aks/events/{event_name}/device_count\n- \"List all count_per_session?\" -> GET /v0.1/apps/{owner_name}/{app_name}/analytics_aks/events/{event_name}/count_per_session\n- \"List all count_per_device?\" -> GET /v0.1/apps/{owner_name}/{app_name}/analytics_aks/events/{event_name}/count_per_device\n- \"Delete a event?\" -> DELETE /v0.1/apps/{owner_name}/{app_name}/analytics_aks/events/{event_name}\n- \"List all events?\" -> GET /v0.1/apps/{owner_name}/{app_name}/analytics_aks/events\n- \"Delete a event_log?\" -> DELETE /v0.1/apps/{owner_name}/{app_name}/analytics_aks/event_logs/{event_name}\n- \"Create a release_count?\" -> POST /v0.1/apps/{owner_name}/{app_name}/analytics_aks/distribution/release_counts\n- \"List all crashfree_device_percentages?\" -> GET /v0.1/apps/{owner_name}/{app_name}/analytics_aks/crashfree_device_percentages\n- \"List all overall?\" -> GET /v0.1/apps/{owner_name}/{app_name}/analytics_aks/crash_groups/{crash_group_id}/overall\n- \"List all operating_systems?\" -> GET /v0.1/apps/{owner_name}/{app_name}/analytics_aks/crash_groups/{crash_group_id}/operating_systems\n- \"List all crash_counts?\" -> GET /v0.1/apps/{owner_name}/{app_name}/analytics_aks/crash_groups/{crash_group_id}/crash_counts\n- \"Create a crash_group?\" -> POST /v0.1/apps/{owner_name}/{app_name}/analytics_aks/crash_groups\n- \"List all active_device_counts?\" -> GET /v0.1/apps/{owner_name}/{app_name}/analytics_aks/active_device_counts\n- \"List all log_flow?\" -> GET /v0.1/apps/{owner_name}/{app_name}/analytics/log_flow\n- \"List all generic_log_flow?\" -> GET /v0.1/apps/{owner_name}/{app_name}/analytics/generic_log_flow\n- \"List all administeredOrgs?\" -> GET /v0.1/administeredOrgs\n- \"How to authenticate?\" -> See Auth section above\n\n## Response Tips\n- Check response schemas in references/api-spec.lap for field details\n- Create/update endpoints return the modified resource on success\n- Error responses include status codes and descriptions in the spec\n\n## References\n- Full spec: See references/api-spec.lap for complete endpoint details, parameter tables, and response schemas\n\n> Generated from the official API spec by [LAP](https://lap.sh)\n","references/api-spec.lap":"@lap v0.3\n# Machine-readable API spec. Each @endpoint block is one API call.\n@api App Center Client\n@base https://api.appcenter.ms/\n@version v0.1\n@auth ApiKey X-API-Token in header | basic\n@endpoints 305\n@hint download_for_search\n@toc v0.1(305)\n\n@endpoint POST /v0.1/users/{user_id}/devices/register\n@desc Registers a user for an existing device\n@required {user_id: any # The ID of the user, body: any # The device info.}\n@returns(200) Success\n@errors {404:not_found: The user or the device can't be found.}\n\n@endpoint GET /v0.1/user/notifications/emailSettings\n@desc Get Default email notification settings for the user\n@returns(200) Success\n\n@endpoint GET /v0.1/user/metadata/optimizely\n@returns(200) Success\n\n@endpoint POST /v0.1/user/invitations/orgs/{invitation_token}/reject\n@desc Rejects a pending organization invitation\n@required {invitation_token: any # The app invitation token that was sent to the user}\n@optional {empty_body: map # allow empty body for custom http-client lib}\n@returns(204) Success\n\n@endpoint POST /v0.1/user/invitations/orgs/{invitation_token}/accept\n@desc Accepts a pending organization invitation for the specified user\n@required {invitation_token: any # The app invitation token that was sent to the user}\n@optional {empty_body: map # allow empty body for custom http-client lib}\n@returns(204) Success\n\n@endpoint POST /v0.1/user/invitations/distribution_groups/accept\n@desc Accepts all pending invitations to distribution groups for the specified user\n@optional {empty_body: map # allow empty body for custom http-client lib}\n@returns(204) Success\n\n@endpoint POST /v0.1/user/invitations/apps/{invitation_token}/reject\n@desc Rejects a pending invitation for the specified user\n@required {invitation_token: any # The app invitation token that was sent to the user}\n@optional {empty_body: map # allow empty body for custom http-client lib}\n@returns(204) Success\n\n@endpoint POST /v0.1/user/invitations/apps/{invitation_token}/accept\n@desc Accepts a pending invitation for the specified user\n@required {invitation_token: any # The app invitation token that was sent to the user}\n@optional {empty_body: map # allow empty body for custom http-client lib}\n@returns(204) Success\n\n@endpoint GET /v0.1/user/export/serviceConnections\n@desc Gets all service connections of the service type for GDPR export.\n@returns(200) Success\n\n@endpoint POST /v0.1/user/dsr/export/{token}/cancel\n@required {token: any # Unique request ID (GUID)}\n@returns(202) Data subject right cancel export request has been accepted.\n@errors {503: Cancel export request cannot be processed yet.}\n\n@endpoint GET /v0.1/user/dsr/export/{token}\n@required {token: any # Unique request ID (GUID)}\n@returns(200) Data subject right export request status successfully retrieved.\n\n@endpoint POST /v0.1/user/dsr/export\n@returns(202) Data subject right export request has been accepted.\n\n@endpoint POST /v0.1/user/dsr/delete/{token}/cancel\n@required {token: any # Unique request ID (GUID)}\n@optional {email: map}\n@returns(202) Data subject right cancel delete request has been accepted.\n@errors {503: Cancel delete request cannot be processed yet.}\n\n@endpoint GET /v0.1/user/dsr/delete/{token}\n@required {token: any # Unique request ID (GUID), email: any # Email used for delete with x-authz-bypass headers}\n@returns(200) Data subject right delete request status successfully retrieved.\n\n@endpoint POST /v0.1/user/dsr/delete\n@returns(202) Data subject right delete request has been accepted.\n\n@endpoint GET /v0.1/user/devices/{device_udid}\n@desc Returns the device details.\n@required {device_udid: any # The UDID of the device}\n@returns(200) Success\n@errors {400:bad_request: Devices information can only be requested for iOS apps., 403:forbidden: The user is not allowed to view someone else's device., 404:not_found: The user or device can't be found.}\n\n@endpoint DELETE /v0.1/user/devices/{device_udid}\n@desc Removes an existing device from a user\n@required {device_udid: any # The UDID of the device}\n@returns(200) Success\n@errors {403:forbidden: The user is not allowed to delete someone else's device., 404:not_found: The user or the device can't be found.}\n\n@endpoint GET /v0.1/user/devices\n@desc Returns all devices associated with the given user.\n@returns(200) Success\n@errors {400:bad_request: Devices information can only be requested for iOS apps., 403:forbidden: The user is not allowed to view someone else's devices.}\n\n@endpoint GET /v0.1/user\n@desc Returns the user profile data\n@returns(200) Success\n\n@endpoint PATCH /v0.1/user\n@desc Updates the user profile and returns the updated user data\n@required {user: any # The data for the created user}\n@returns(200) Success\n\n@endpoint GET /v0.1/sdk/apps/{app_secret}/releases/{release_hash}\n@desc If 'latest' is not specified then it will return the specified release if it's enabled. If 'latest' is specified, regardless of whether a release hash is provided, the latest enabled release is returned.\n@required {app_secret: any # The secret of the target application, release_hash: any # The hash of the release or 'latest' to get the latest release from all the distribution groups assigned to the current user.}\n@optional {udid: any # When passing `udid` in the query string, a provisioning check for the given device ID will be done. Will be ignored for non-iOS platforms.}\n@returns(200) If called with a specific `release_hash` return the app's 'display_name'' and 'buildIdentifier'. If 'release_hash' is 'latest' return the full release details of the latest release that was distributed to the current user (from all the distribution groups).\n@errors {404: Error codes: - `not_found` - A release or an app can't be found. - `no_releases_for_user` - No releases available for that user (will only be returned when `release_hash` is `latest`)}\n\n@endpoint GET /v0.1/sdk/apps/{app_secret}/releases/private/latest\n@desc Get the latest release distributed to a private group the given user is a member of for the given app.\n@required {app_secret: any # The secret of the target application}\n@optional {udid: any # When passing `udid` in the query string, a provisioning check for the given device ID will be done. Will be ignored for non-iOS platforms.}\n@returns(200) Return the full release details of the latest release that was distributed to the current user (from all the private distribution groups).\n@errors {404: Error codes: - `not_found` - A release or an app can't be found. - `no_releases_for_user` - No releases available for that user.}\n\n@endpoint GET /v0.1/public/sparkle/apps/{app_secret}\n@desc Gets the sparkle feed of the releases that are distributed to all the public distribution groups.\n@required {app_secret: any # The secret of the application.}\n@returns(200) The RSS feed of releases.\n\n@endpoint GET /v0.1/public/sdk/apps/{app_secret}/releases/{release_hash}/public_distribution_groups\n@desc Get all public distribution groups that a given release has been distributed to\n@required {app_secret: any # The secret of the target application, release_hash: any # The hash of the release}\n@returns(200) The public distribution groups that the release has been distributed to\n@errors {404: Error Codes: - `not_found` - The app doesn't exist}\n\n@endpoint GET /v0.1/public/sdk/apps/{app_secret}/releases/latest\n@desc Get the latest public release for the given app.\n@required {app_secret: any # The secret of the target application}\n@returns(200) The full release details of the latest release that was distributed to a public group.\n@errors {404: Error Codes: - `not_found` - The app doesn't exist - `no_releases_for_app` - The app has no public releases.}\n\n@endpoint GET /v0.1/public/sdk/apps/{app_secret}/distribution_groups/{distribution_group_id}/releases/latest\n@desc Get a release with 'latest' for the given public group.\n@required {app_secret: any # The secret of the target application, distribution_group_id: any # the id for destination}\n@optional {is_install_page: any # The check if the request is from Install page}\n@returns(200) The full release details of the latest release that was distributed from the given public group.\n@errors {403: Error Codes: - `forbidden` - Unauthorized to access private distribution group, 404: Error Codes: - `not_found` - Distribution group or the app doesn't exist - `no_releases_for_app` - App has no releases.}\n\n@endpoint POST /v0.1/public/apps/{owner_name}/{app_name}/install_analytics\n@desc Notify download(s) for the provided distribution release(s).\n@required {owner_name: any # The name of the app owner, app_name: any # The name of the app, body: any # The install analytics request payload}\n@returns(204) Install Analytics Notification Sent Successfully.\n\n@endpoint GET /v0.1/public/apps/{app_id}/releases/{release_id}/ios_manifest\n@desc Returns the manifest.plist in XML format for installing the release on a device. Only available for iOS.\n@required {app_id: any # The ID of the application, release_id: any # The release_id, token: any # A hash that authorizes the download if it matches the release info.}\n@returns(200) Success\n@errors {400: The app's OS is not iOS., 403: Forbidden - The token provided doesn't match the release's token., 404: The app or release can't be found.}\n\n@endpoint GET /v0.1/orgs/{org_name}/users/{user_name}/apps\n@desc Get a user apps information from an organization by name\n@required {org_name: any # The organization's name, user_name: any # The slug name of the user}\n@returns(200) Success\n\n@endpoint PATCH /v0.1/orgs/{org_name}/users/{user_name}\n@desc Updates the given organization user\n@required {org_name: any # The organization's name, user_name: any # The slug name of the user, organization_user: any}\n@returns(200) Success\n\n@endpoint DELETE /v0.1/orgs/{org_name}/users/{user_name}\n@desc Removes a user from an organization.\n@required {org_name: any # The organization's name, user_name: any # The slug name of the user}\n@returns(204) Success\n\n@endpoint GET /v0.1/orgs/{org_name}/users/{user_name}\n@desc Get a user information from an organization by name - if there is explicit permission return it, if not if not return highest implicit permission\n@required {org_name: any # The organization's name, user_name: any # The slug name of the user}\n@returns(200) Success\n\n@endpoint GET /v0.1/orgs/{org_name}/users\n@desc Returns a list of users that belong to an organization\n@required {org_name: any # The organization's name}\n@returns(200) Success\n\n@endpoint GET /v0.1/orgs/{org_name}/testers\n@desc Returns a unique list of users including the whole organization members plus testers in any shared group of that org\n@required {org_name: any # The organization's name}\n@returns(200) Success\n\n@endpoint DELETE /v0.1/orgs/{org_name}/teams/{team_name}/users/{user_name}\n@desc Removes a user from a team that is owned by an organization\n@required {org_name: any # The organization's name, team_name: any # The team's name, user_name: any # The slug name of the user}\n@returns(204) Success\n\n@endpoint GET /v0.1/orgs/{org_name}/teams/{team_name}/users\n@desc Returns the users of a team which is owned by an organization\n@required {org_name: any # The organization's name, team_name: any # The team's name}\n@returns(200) Success\n\n@endpoint POST /v0.1/orgs/{org_name}/teams/{team_name}/users\n@desc Adds a new user to a team that is owned by an organization\n@required {org_name: any # The organization's name, team_name: any # The team's name, user_email: any # The email of the user to add to the team}\n@returns(201) Success\n\n@endpoint PATCH /v0.1/orgs/{org_name}/teams/{team_name}/apps/{app_name}\n@desc Updates the permissions the team has to the app\n@required {org_name: any # The organization's name, team_name: any # The team's name, app_name: any # The name of the application, team: any}\n@returns(200) Success\n\n@endpoint DELETE /v0.1/orgs/{org_name}/teams/{team_name}/apps/{app_name}\n@desc Removes an app from a team\n@required {org_name: any # The organization's name, team_name: any # The team's name, app_name: any # The name of the application}\n@returns(204) Success\n\n@endpoint POST /v0.1/orgs/{org_name}/teams/{team_name}/apps\n@desc Adds an app to a team\n@required {org_name: any # The organization's name, team_name: any # The team's name, app: any # The name of the app to be added to the team. The app has to be owned by the organization.}\n@returns(201) Success\n\n@endpoint GET /v0.1/orgs/{org_name}/teams/{team_name}/apps\n@desc Returns the apps a team has access to\n@required {org_name: any # The organization's name, team_name: any # The team's name}\n@returns(200) Success\n\n@endpoint GET /v0.1/orgs/{org_name}/teams/{team_name}\n@desc Returns the details of a single team\n@required {org_name: any # The organization's name, team_name: any # The team's name}\n@returns(200) Success\n\n@endpoint DELETE /v0.1/orgs/{org_name}/teams/{team_name}\n@desc Deletes a single team\n@required {org_name: any # The organization's name, team_name: any # The team's name}\n@returns(204) Success\n\n@endpoint PATCH /v0.1/orgs/{org_name}/teams/{team_name}\n@desc Updates a single team\n@required {org_name: any # The organization's name, team_name: any # The team's name, team: any # The information used to update the team}\n@returns(200) Success\n\n@endpoint GET /v0.1/orgs/{org_name}/teams\n@desc Returns the list of all teams in this org\n@required {org_name: any # The organization's name}\n@returns(200) Success\n\n@endpoint POST /v0.1/orgs/{org_name}/teams\n@desc Creates a team and returns it\n@required {org_name: any # The organization's name, team: any # The information used to create the team}\n@returns(201) Success\n\n@endpoint POST /v0.1/orgs/{org_name}/invitations/{email}/revoke\n@desc Removes a user's invitation to an organization\n@required {org_name: any # The organization's name, email: any # The email address of the user to send the password reset mail to.}\n@optional {empty_body: map # allow empty body for custom http-client lib}\n@returns(204) Success\n\n@endpoint POST /v0.1/orgs/{org_name}/invitations/{email}/resend\n@desc Cancels an existing organization invitation for the user and sends a new one\n@required {org_name: any # The organization's name, email: any # The email address of the user to send the password reset mail to.}\n@optional {role: any # The role of the user to be added}\n@returns(204) Success\n\n@endpoint PATCH /v0.1/orgs/{org_name}/invitations/{email}\n@desc Allows the role of an invited user to be changed\n@required {org_name: any # The organization's name, email: any # The email address of the user to send the password reset mail to., user_role: any # The new role of the user}\n@returns(204) Success\n\n@endpoint POST /v0.1/orgs/{org_name}/invitations\n@desc Invites a new or existing user to an organization\n@required {org_name: any # The organization's name, user_email: any # The email of the user to invite}\n@returns(204) Success\n\n@endpoint DELETE /v0.1/orgs/{org_name}/invitations\n@desc Removes a user's invitation to an organization\n@required {org_name: any # The organization's name, user_email: any # The email of the user whose invitation should be removed}\n@returns(204) Success\n\n@endpoint GET /v0.1/orgs/{org_name}/invitations\n@desc Gets the pending invitations for the organization\n@required {org_name: any # The organization's name}\n@returns(200) Success\n\n@endpoint GET /v0.1/orgs/{org_name}/distribution_groups_details\n@desc Returns a list of distribution groups with details for an organization\n@required {org_name: any # The organization's name}\n@optional {apps_limit: any # The max number of apps to include in the response}\n@returns(200) Success\n\n@endpoint POST /v0.1/orgs/{org_name}/distribution_groups/{distribution_group_name}/resend_invite\n@desc Resend shared distribution group invite notification to previously invited testers\n@required {org_name: any # The organization's name, distribution_group_name: any # The name of the distribution group, members: any # The list of members to add}\n@returns(204) Success\n\n@endpoint POST /v0.1/orgs/{org_name}/distribution_groups/{distribution_group_name}/members/bulk_delete\n@desc Delete testers from distribution group in an org\n@required {org_name: any # The organization's name, distribution_group_name: any # The name of the distribution group, members: any # The list of members to add}\n@returns(204) Success\n\n@endpoint GET /v0.1/orgs/{org_name}/distribution_groups/{distribution_group_name}/members\n@desc Returns a list of member in the distribution group specified\n@required {org_name: any # The organization's name, distribution_group_name: any # The name of the distribution group}\n@returns(200) Success\n\n@endpoint POST /v0.1/orgs/{org_name}/distribution_groups/{distribution_group_name}/members\n@desc Accepts an array of user email addresses to get added to the specified group\n@required {org_name: any # The organization's name, distribution_group_name: any # The name of the distribution group, member_emails: any # list of user email addresses that should get added as members to the specified group}\n@returns(200) Success\n\n@endpoint POST /v0.1/orgs/{org_name}/distribution_groups/{distribution_group_name}/apps/bulk_delete\n@desc Delete apps from distribution group in an org\n@required {org_name: any # The organization's name, distribution_group_name: any # The name of the distribution group, apps: any # The name of the apps to be deleted from the distribution group. The apps have to be owned by the organization.}\n@returns(204) Success\n\n@endpoint GET /v0.1/orgs/{org_name}/distribution_groups/{distribution_group_name}/apps\n@desc Get apps from a distribution group in an org\n@required {org_name: any # The organization's name, distribution_group_name: any # The name of the distribution group}\n@returns(200) Success\n\n@endpoint POST /v0.1/orgs/{org_name}/distribution_groups/{distribution_group_name}/apps\n@desc Add apps to distribution group in an org\n@required {org_name: any # The organization's name, distribution_group_name: any # The name of the distribution group, apps: any # The name of the apps to be added to the distribution group. The apps have to be owned by the organization.}\n@returns(204) Success\n\n@endpoint GET /v0.1/orgs/{org_name}/distribution_groups/{distribution_group_name}\n@desc Returns a single distribution group in org for a given distribution group name\n@required {org_name: any # The organization's name, distribution_group_name: any # The name of the distribution group}\n@returns(200) Success\n\n@endpoint PATCH /v0.1/orgs/{org_name}/distribution_groups/{distribution_group_name}\n@desc Update one given distribution group name in an org\n@required {org_name: any # The organization's name, distribution_group_name: any # The name of the distribution group}\n@optional {distribution_group_for_org: any # The attributes to update for the distribution group}\n@returns(200) Success\n\n@endpoint DELETE /v0.1/orgs/{org_name}/distribution_groups/{distribution_group_name}\n@desc Deletes a single distribution group from an org with a given distribution group name\n@required {org_name: any # The organization's name, distribution_group_name: any # The name of the distribution group}\n@returns(200) Success\n\n@endpoint POST /v0.1/orgs/{org_name}/distribution_groups\n@desc Creates a disribution goup which can be shared across apps under an organization\n@required {org_name: any # The organization's name, distribution_group: any # The attributes to update for the distribution group}\n@returns(201) Success\n\n@endpoint GET /v0.1/orgs/{org_name}/distribution_groups\n@desc Returns a list of distribution groups in the org specified\n@required {org_name: any # The organization's name}\n@returns(201) Success\n\n@endpoint GET /v0.1/orgs/{org_name}/azure_subscriptions\n@desc Returns a list of azure subscriptions for the organization\n@required {org_name: any # The organization's name}\n@returns(200) Success\n\n@endpoint POST /v0.1/orgs/{org_name}/avatar\n@desc Sets the organization avatar\n@required {org_name: any # The organization's name}\n@optional {avatar: any # The image for an Organization avatar to upload.}\n@returns(200) Success\n\n@endpoint DELETE /v0.1/orgs/{org_name}/avatar\n@desc Deletes the uploaded organization avatar\n@required {org_name: any # The organization's name}\n@returns(200) Success\n\n@endpoint POST /v0.1/orgs/{org_name}/apps\n@desc Creates a new app for the organization and returns it to the caller\n@required {org_name: any # The organization's name, app: any # The data for the app}\n@returns(200) Success\n@returns(201) Success\n\n@endpoint GET /v0.1/orgs/{org_name}/apps\n@desc Returns a list of apps for the organization\n@required {org_name: any # The organization's name}\n@returns(200) Success\n\n@endpoint GET /v0.1/orgs/{org_name}\n@desc Returns the details of a single organization\n@required {org_name: any # The organization's name}\n@returns(200) Success\n\n@endpoint PATCH /v0.1/orgs/{org_name}\n@desc Returns a list of organizations the requesting user has access to\n@required {org_name: any # The organization's name, org: any # The data for the org}\n@returns(200) Success\n\n@endpoint DELETE /v0.1/orgs/{org_name}\n@desc Deletes a single organization\n@required {org_name: any # The organization's name}\n@returns(204) Success\n\n@endpoint POST /v0.1/orgs\n@desc Creates a new organization and returns it to the caller\n@required {organization: any # The organization data}\n@returns(201) Created\n\n@endpoint GET /v0.1/orgs\n@desc Returns a list of organizations the requesting user has access to\n@returns(200) Success\n\n@endpoint GET /v0.1/invitations/sent\n@desc Returns all invitations sent by the caller\n@returns(200) Success\n\n@endpoint GET /v0.1/azure_subscriptions\n@desc Returns a list of azure subscriptions for the user\n@returns(200) Success\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/webhooks\n@desc Get web hooks configured for a particular app\n@required {owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Success\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/versions\n@desc Gets a list of application versions.\n@required {owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Success\n\n@endpoint DELETE /v0.1/apps/{owner_name}/{app_name}/users/{user_email}\n@desc Removes the user from the app\n@required {owner_name: any # The name of the owner, app_name: any # The name of the application, user_email: any # The user email of the user to delete}\n@returns(204) Success\n\n@endpoint PATCH /v0.1/apps/{owner_name}/{app_name}/users/{user_email}\n@desc Update user permission for the app\n@required {owner_name: any # The name of the owner, app_name: any # The name of the application, user_email: any # The user email of the user to patch, user_app_permissions_data: any # The value to update the user permission for the app.}\n@returns(204) Success\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/users\n@desc Returns the users associated with the app specified with the given app name which belongs to the given owner.\n@required {owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Success\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/uploads/releases/{upload_id}\n@desc Get the current status of the release upload.\n@required {upload_id: any # The ID of the release upload, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Success\n@errors {400: The request contained invalid properties., 404: Error codes: - `not_found` - The app or upload doesn't exist.}\n\n@endpoint PATCH /v0.1/apps/{owner_name}/{app_name}/uploads/releases/{upload_id}\n@desc Update the current status of the release upload.\n@required {upload_id: any # The ID of the release upload, body: any # The release upload status information., owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {extract: any # A flag that indicates to extract release or not, true by default}\n@returns(200) Success\n@errors {400: The request contained invalid properties., 404: Error codes: - `not_found` - The app or upload doesn't exist.}\n\n@endpoint POST /v0.1/apps/{owner_name}/{app_name}/uploads/releases\n@desc Initiate a new release upload. This API is part of multi-step upload process.\n@required {owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {body: any # Optional parameters to create releases with user defined metadata}\n@returns(201) Created\n@errors {400: The request contained invalid properties., 404: Error codes: - `not_found` - The app doesn't exist.}\n\n@endpoint POST /v0.1/apps/{owner_name}/{app_name}/transfer_to_org\n@desc Transfers ownership of an app to a new organization\n@required {owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {empty_body: map # allow empty body for custom http-client lib}\n@returns(200) Success\n\n@endpoint POST /v0.1/apps/{owner_name}/{app_name}/transfer/{destination_owner_name}\n@desc Transfers ownership of an app to a different user or organization\n@required {owner_name: any # The name of the owner, app_name: any # The name of the application, destination_owner_name: any # The name of the owner (user or organization) to which the app is being transferred}\n@optional {empty_body: map # allow empty body for custom http-client lib}\n@returns(200) Success\n\n@endpoint DELETE /v0.1/apps/{owner_name}/{app_name}/testers/{tester_id}\n@desc Delete the given tester from the all releases\n@required {tester_id: any # The id of the tester, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Success\n@errors {404: Tester can't be found}\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/testers\n@desc Returns the testers associated with the app specified with the given app name which belongs to the given owner.\n@required {owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Success\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/teams\n@desc Returns the details of all teams that have access to the app.\n@required {app_name: any # The name of the application, owner_name: any # The name of the owner}\n@returns(200) Success\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/symbols/{symbol_id}/status\n@desc Returns a particular symbol by id (uuid) for the provided application\n@required {symbol_id: any # The ID of the symbol (uuid of the symbol), owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Success\n@errors {403: Unauthorized, 404: Not found, 500: Internal error}\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/symbols/{symbol_id}/location\n@desc Gets the URL to download the symbol\n@required {symbol_id: any # The ID of the symbol (uuid of the symbol), owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Success\n@errors {403: Unauthorized, 404: Not found, 500: Internal error}\n\n@endpoint POST /v0.1/apps/{owner_name}/{app_name}/symbols/{symbol_id}/ignore\n@desc Marks a symbol by id (uuid) as ignored\n@required {symbol_id: any # The ID of the symbol (uuid of the symbol), owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Success\n@errors {403: Unauthorized, 404: Not found, 500: Internal error}\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/symbols/{symbol_id}\n@desc Returns a particular symbol by id (uuid) for the provided application\n@required {symbol_id: any # The ID of the symbol (uuid of the symbol), owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Success\n@errors {403: Unauthorized, 404: Not found, 500: Internal error}\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/symbols\n@desc Returns the list of all symbols for the provided application\n@required {owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Success\n@errors {403: Unauthorized, 500: Internal error}\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/symbol_uploads/{symbol_upload_id}/location\n@desc Gets the URL to download the symbol upload\n@required {symbol_upload_id: any # The ID of the symbol upload, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Success\n@errors {403: Unauthorized, 404: Not found, 500: Internal error}\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/symbol_uploads/{symbol_upload_id}\n@desc Gets a symbol upload by id for the specified application\n@required {symbol_upload_id: any # The ID of the symbol upload, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Success\n@errors {403: Unauthorized, 404: Not found, 500: Internal error}\n\n@endpoint PATCH /v0.1/apps/{owner_name}/{app_name}/symbol_uploads/{symbol_upload_id}\n@desc Commits or aborts the symbol upload process for a new set of symbols for the specified application\n@required {symbol_upload_id: any # The ID of the symbol upload, body: any # The symbol information, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Success\n@errors {400: Bad request, 403: Unauthorized, 500: Internal error}\n\n@endpoint DELETE /v0.1/apps/{owner_name}/{app_name}/symbol_uploads/{symbol_upload_id}\n@desc Deletes a symbol upload by id for the specified application\n@required {symbol_upload_id: any # The ID of the symbol upload, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Success\n@errors {403: Unauthorized, 404: Not found, 500: Internal error}\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/symbol_uploads\n@desc Gets a list of all uploads for the specified application\n@required {owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {top: any # The maximum number of results to return., status: any # Filter results by the current status of a symbol upload: * all: all states in the symbol upload process. Includes created, aborted, committed, processing, indexed and failed states * uploaded: all states after package is uploaded. Includes committed, processing, indexed and failed states * processed: symbol upload processing is completed. Includes indexed and failed states., symbol_type: any # The type of symbols}\n@returns(200) Success\n@errors {403: Unauthorized, 500: Internal error}\n\n@endpoint POST /v0.1/apps/{owner_name}/{app_name}/symbol_uploads\n@desc Begins the symbol upload process for a new set of symbols for the specified application\n@required {body: any # The symbol information, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Success\n@errors {400: Bad request, 403: Unauthorized, 500: Internal error}\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/store_service_status\n@desc Application specific store service status\n@required {owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Success. Availability for store service status is stored in response schema.\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/releases/{release_id}/update_devices/{resign_id}\n@desc Returns the resign status to the caller\n@required {release_id: any # The ID of the release., resign_id: any # The ID of the resign operation., owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {include_provisioning_profile: any # A boolean value that indicates if the provisioning profile should be return in addition to the status. When set to true, the provisioning profile will be returned only when status is 'complete' or 'preparing_for_testers'.}\n@returns(200) Success\n@errors {400: Error, 404:not_found: A distribution group can't be found.}\n\n@endpoint PUT /v0.1/apps/{owner_name}/{app_name}/releases/{release_id}/testers/{tester_id}\n@desc Update details about the specified tester associated with the release\n@required {release_id: any # The ID of the release, tester_id: any # The id of the tester, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {destination_tester_update_details: map}\n@returns(200) Success\n@errors {404: A destination can't be found.}\n\n@endpoint DELETE /v0.1/apps/{owner_name}/{app_name}/releases/{release_id}/testers/{tester_id}\n@desc Delete the given tester from the release\n@required {release_id: any # The ID of the release, tester_id: any # The id of the tester, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Success\n@errors {404: Tester can't be found}\n\n@endpoint POST /v0.1/apps/{owner_name}/{app_name}/releases/{release_id}/testers\n@desc Distributes a release to a user\n@required {release_id: any # The ID of the release, body: map # The release information., owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(201) Created\n@errors {400: Failure, 404: Release not found}\n\n@endpoint DELETE /v0.1/apps/{owner_name}/{app_name}/releases/{release_id}/stores/{store_id}\n@desc Delete the given distribution store from the release\n@required {release_id: any # The ID of the release, store_id: any # The id of the distribution store, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Success\n@errors {404: Distribution store destination can't be found.}\n\n@endpoint POST /v0.1/apps/{owner_name}/{app_name}/releases/{release_id}/stores\n@desc Distributes a release to a store\n@required {release_id: any # The ID of the release, body: map # The release information., owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(201) Created\n@errors {400: Failure, 404: Release not found}\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/releases/{release_id}/provisioning_profile\n@desc Return information about the provisioning profile. Only available for iOS.\n@required {release_id: any # The release_id, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Success\n@errors {400: The app's OS is not iOS.}\n\n@endpoint PUT /v0.1/apps/{owner_name}/{app_name}/releases/{release_id}/groups/{group_id}\n@desc Update details about the specified distribution group associated with the release\n@required {release_id: any # The ID of the release, group_id: any # The id of the releases destination, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {destination_group_update_details: map}\n@returns(200) Success\n@errors {404: A destination can't be found.}\n\n@endpoint DELETE /v0.1/apps/{owner_name}/{app_name}/releases/{release_id}/groups/{group_id}\n@desc Delete the given distribution group from the release\n@required {release_id: any # The ID of the release, group_id: any # The id of the distribution group, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Success\n@errors {404: Distribution group destination can't be found.}\n\n@endpoint POST /v0.1/apps/{owner_name}/{app_name}/releases/{release_id}/groups\n@desc Distributes a release to a group\n@required {release_id: any # The ID of the release, body: map # The release information., owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(201) Created\n@errors {400: Failure, 404: Release not found}\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/releases/{release_id}\n@desc Get a release with id `release_id`. If `release_id` is `latest`, return the latest release that was distributed to the current user (from all the distribution groups).\n@required {release_id: any # The ID of the release, or `latest` to get the latest release from all the distribution groups assigned to the current user., owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {udid: any # when supplied, this call will also check if the given UDID is provisioned. Will be ignored for non-iOS platforms. The value will be returned in the property is_udid_provisioned., is_install_page: any # The check if the request is from Install page}\n@returns(200) Success\n@errors {400: `release_id` is not an integer or the string `latest`., 404: Error codes: - `not_found` - A release or an app can't be found. - `no_releases_for_user` - No releases available for that user (will only be returned when `release_id` is `latest`)}\n\n@endpoint PUT /v0.1/apps/{owner_name}/{app_name}/releases/{release_id}\n@desc Update details of a release.\n@required {release_id: any # The ID of the release, body: map # The release information., owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Success\n@errors {400: Failure, 404: Release not found}\n\n@endpoint PATCH /v0.1/apps/{owner_name}/{app_name}/releases/{release_id}\n@desc Updates a release.\n@required {release_id: any # The ID of the release, body: map # The release information., owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Success\n@errors {400: Failure, 404: Release not found}\n\n@endpoint DELETE /v0.1/apps/{owner_name}/{app_name}/releases/{release_id}\n@desc Deletes a release.\n@required {release_id: any # The ID of the release, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Success\n@errors {404: An app or a release couldn't be found, 500: An internal error. if delete has partially failed **partially_deleted** error_code will be returned. - `partially_deleted`: Release was removed from all distribution groups, but couldn't be deleted from App Center.}\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/releases/filter_by_tester\n@desc Return detailed information about releases avaiable to a tester.\n@required {owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {published_only: any # when *true*, filters out releases that were uploaded but were never distributed. Releases that under deleted distribution groups will not be filtered out.}\n@returns(200) Success\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/releases\n@desc Return basic information about releases.\n@required {owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {published_only: any # When *true*, filters out releases that were uploaded but were never distributed. Releases that under deleted distribution groups will not be filtered out., scope: any # When the scope is 'tester', only includes releases that have been distributed to groups that the user belongs to., top: any # The number of releases to return, releaseId: any # The id of a release}\n@returns(200) Success\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/recent_releases\n@desc Get the latest release from every distribution group associated with an application.\n@required {owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Success\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/notifications/emailSettings\n@desc Get Email notification settings of user for a particular app\n@required {owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Success\n\n@endpoint POST /v0.1/apps/{owner_name}/{app_name}/invitations/{user_email}\n@desc Invites a new or existing user to an app\n@required {owner_name: any # The name of the owner, app_name: any # The name of the application, user_email: any # The email of the user to invite}\n@optional {role: any # The role of the user to be added}\n@returns(204) Success\n\n@endpoint PATCH /v0.1/apps/{owner_name}/{app_name}/invitations/{user_email}\n@desc Update pending invitation permission\n@required {owner_name: any # The name of the owner, app_name: any # The name of the application, user_email: any # The email of the user to invite, user_invitation_permissions_data: any # The value to update the user permission in the invite.}\n@returns(204) Success\n\n@endpoint DELETE /v0.1/apps/{owner_name}/{app_name}/invitations/{user_email}\n@desc Removes a user's invitation to an app\n@required {owner_name: any # The name of the owner, app_name: any # The name of the application, user_email: any # The email of the user to invite}\n@returns(204) Success\n\n@endpoint POST /v0.1/apps/{owner_name}/{app_name}/invitations\n@desc Invites a new or existing user to an app\n@required {owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {user_email: any # The email of the user to invite}\n@returns(204) Success\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/invitations\n@desc Gets the pending invitations for the app\n@required {owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Success\n\n@endpoint POST /v0.1/apps/{owner_name}/{app_name}/export_configurations_aks/{export_configuration_id}/enable\n@desc Enable export configuration.\n@required {export_configuration_id: any # The id of the export configuration., owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Export configuration was successfully enabled.\n\n@endpoint POST /v0.1/apps/{owner_name}/{app_name}/export_configurations_aks/{export_configuration_id}/disable\n@desc Disable export configuration.\n@required {export_configuration_id: any # The id of the export configuration., owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Export configuration was successfully disabled.\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/export_configurations_aks/{export_configuration_id}\n@desc Get export configuration.\n@required {export_configuration_id: any # The id of the export configuration., owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Get export configuration.\n\n@endpoint PATCH /v0.1/apps/{owner_name}/{app_name}/export_configurations_aks/{export_configuration_id}\n@desc Partially update export configuration.\n@required {export_configuration_id: any # The id of the export configuration., properties: map # Export configurations., owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Export configuration updated successfully.\n\n@endpoint DELETE /v0.1/apps/{owner_name}/{app_name}/export_configurations_aks/{export_configuration_id}\n@desc Delete export configuration.\n@required {export_configuration_id: any # The id of the export configuration., owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Export configuration was successfully deleted.\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/export_configurations_aks\n@desc List export configurations.\n@required {owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) List export configurations.\n\n@endpoint POST /v0.1/apps/{owner_name}/{app_name}/export_configurations_aks\n@desc Create new export configuration\n@required {properties: map # Export configurations., owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(202) Create export configuration request successfully received.\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/errors_aks/{errorId}/sessionLogs\n@desc Get session logs by error ID\n@required {errorId: any # The id of the error, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {date: any # Date of data requested}\n@returns(200) Session logs of specific error\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/errors_aks/{errorId}/attachments/{attachmentId}/text\n@desc Error attachment text.\n@required {errorId: any # The id of the error, attachmentId: any # Error attachment id., owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Error attachment text.\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/errors_aks/{errorId}/attachments/{attachmentId}/location\n@desc Error attachment location.\n@required {errorId: any # The id of the error, attachmentId: any # Error attachment id., owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Error attachment location.\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/errors_aks/{errorId}/attachments\n@desc List error attachments.\n@required {errorId: any # The id of the error, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) List of error attachments.\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/errors_aks/search\n@desc Errors list based on search parameters\n@required {owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {filter: any # A filter as specified in OData notation, q: any # A query string, order: any # It controls the order of sorting, sort: any # It controls the sort based on specified field, $top: any # The maximum number of results to return, $skip: any # The offset (starting at 0) of the first result to return. This parameter along with limit is used to perform pagination.}\n@returns(200) List of errors\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/errors_aks/retention_settings\n@desc gets the retention settings in days\n@required {owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Success\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/errors_aks/errorfreeDevicePercentages\n@desc Percentage of error-free devices by day in the time range based on the selected versions. If SingleErrorTypeParameter is not provided, defaults to handlederror. API will return -1 if crash devices is greater than active devices\n@required {start: any # Start date time in data in ISO 8601 date time format, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {end: any # Last date time in data in ISO 8601 date time format, versions: any, app_build: any # app build, errorType: any # Type of error (handled vs unhandled), excluding All}\n@returns(200) Percentage of error-free devices by day in the time range and overall percentage of the entire time range.\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/errors_aks/errorGroups/{errorGroupId}/stacktrace\n@desc Gets the stack trace for the error group.\n@required {errorGroupId: any # The id of the error group, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Gets the stack trace for the error group.\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/errors_aks/errorGroups/{errorGroupId}/operatingSystems\n@desc Top OSes of the selected error group.\n@required {errorGroupId: any # The id of the error group, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {$top: any # The maximum number of results to return. (0 will fetch all results till the max number.)}\n@returns(200) Top OSes with percentage in descending order\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/errors_aks/errorGroups/{errorGroupId}/models\n@desc Top models of the selected error group.\n@required {errorGroupId: any # The id of the error group, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {$top: any # The maximum number of results to return. (0 will fetch all results till the max number.)}\n@returns(200) Top Models with percentage in descending order\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/errors_aks/errorGroups/{errorGroupId}/errors/{errorId}/stacktrace\n@desc Error Stacktrace details.\n@required {errorGroupId: any # The id of the error group, errorId: any # The id of the error, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Error stacktrace details.\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/errors_aks/errorGroups/{errorGroupId}/errors/{errorId}/location\n@desc Error location.\n@required {errorGroupId: any # The id of the error group, errorId: any # The id of the error, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Error location.\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/errors_aks/errorGroups/{errorGroupId}/errors/{errorId}/download\n@desc Download details for a specific error.\n@required {errorGroupId: any # The id of the error group, errorId: any # The id of the error, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {format: any # the format of the crash log}\n@returns(200) Error details.\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/errors_aks/errorGroups/{errorGroupId}/errors/{errorId}\n@desc Error details.\n@required {errorGroupId: any # The id of the error group, errorId: any # The id of the error, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Error details.\n\n@endpoint DELETE /v0.1/apps/{owner_name}/{app_name}/errors_aks/errorGroups/{errorGroupId}/errors/{errorId}\n@desc Delete a specific error and related attachments and blobs for an app. Searchable data will not be deleted immediately and may take up to 30 days.\n@required {errorGroupId: any # The id of the error group, errorId: any # The id of the error, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Success.\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/errors_aks/errorGroups/{errorGroupId}/errors/latest\n@desc Latest error details.\n@required {errorGroupId: any # The id of the error group, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Latest error details.\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/errors_aks/errorGroups/{errorGroupId}/errors\n@desc Get all errors for group\n@required {errorGroupId: any # The id of the error group, start: any # Start date time in data in ISO 8601 date time format, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {end: any # Last date time in data in ISO 8601 date time format, $top: any # The maximum number of results to return. (0 will fetch all results till the max number.), model: any, os: any}\n@returns(200) Get all errors for group\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/errors_aks/errorGroups/{errorGroupId}/errorfreeDevicePercentages\n@desc Percentage of error-free devices by day in the time range. Api will return -1 if crash devices is greater than active devices\n@required {errorGroupId: any # The id of the error group, start: any # Start date time in data in ISO 8601 date time format, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {end: any # Last date time in data in ISO 8601 date time format}\n@returns(200) Percentage of error-free devices by day in the time range and overall percentage of the time range.\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/errors_aks/errorGroups/{errorGroupId}/errorCountsPerDay\n@desc Count of errors by day in the time range of the selected error group with selected version\n@required {errorGroupId: any # The id of the error group, start: any # Start date time in data in ISO 8601 date time format, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {version: any, end: any # Last date time in data in ISO 8601 date time format}\n@returns(200) Count of errors by day in the time range and total errors over the time range.\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/errors_aks/errorGroups/{errorGroupId}\n@desc Error group details\n@required {errorGroupId: any # The id of the error group, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Error group details\n\n@endpoint PATCH /v0.1/apps/{owner_name}/{app_name}/errors_aks/errorGroups/{errorGroupId}\n@desc Update error group state\n@required {errorGroupId: any # The id of the error group, errorGroupState: map # The state of the error group, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Error group details\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/errors_aks/errorGroups/search\n@desc Error groups list based on search parameters\n@required {owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {filter: any # A filter as specified in OData notation, q: any # A query string, order: any # It controls the order of sorting, sort: any # It controls the sort based on specified field, $top: any # The maximum number of results to return, $skip: any # The offset (starting at 0) of the first result to return. This parameter along with limit is used to perform pagination.}\n@returns(200) List of error groups\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/errors_aks/errorGroups\n@desc List of error groups\n@required {start: any # Start date time in data in ISO 8601 date time format, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {version: any, app_build: any # app build, groupState: any, end: any # Last date time in data in ISO 8601 date time format, $orderby: any # controls the sorting order and sorting based on which column, $top: any # The maximum number of results to return. (0 will fetch all results till the max number.), errorType: any # Type of error (handled vs unhandled), including All}\n@returns(200) List of error groups\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/errors_aks/errorCountsPerDay\n@desc Count of crashes or errors by day in the time range based the selected versions. If SingleErrorTypeParameter is not provided, defaults to handlederror.\n@required {start: any # Start date time in data in ISO 8601 date time format, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {version: any, end: any # Last date time in data in ISO 8601 date time format, app_build: any # app build, errorType: any # Type of error (handled vs unhandled), excluding All}\n@returns(200) Count of crashes or errors by day in the time range, and total over the entire time range.\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/errors_aks/available_versions\n@desc Get all available versions in the time range.\n@required {start: any # Start date time in data in ISO 8601 date time format, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {end: any # Last date time in data in ISO 8601 date time format, $top: any # The maximum number of results to return. (0 will fetch all results till the max number.), $skip: any # The offset (starting at 0) of the first result to return. This parameter along with limit is used to perform pagination., $filter: any # A filter as specified in https://github.com/Microsoft/api-guidelines/blob/master/Guidelines.md#97-filtering., $inlinecount: any # Controls whether or not to include a count of all the items across all pages., errorType: any # Type of error (handled vs unhandled), including All}\n@returns(200) A list of available versions in the time range.\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/errors_aks/availableAppBuilds\n@desc List of app builds\n@required {version: any, start: any # Start date time in data in ISO 8601 date time format, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {end: any # Last date time in data in ISO 8601 date time format, $top: any # The maximum number of results to return. (0 will fetch all results till the max number.), errorType: any # Type of error (handled vs unhandled), including All}\n@returns(200) List of App builds\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/errors/{errorId}/sessionLogs\n@desc Get session logs by error ID\n@required {errorId: any # The id of the error, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {date: any # Date of data requested}\n@returns(200) Session logs of specific error\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/errors/{errorId}/attachments/{attachmentId}/text\n@desc Error attachment text.\n@required {errorId: any # The id of the error, attachmentId: any # Error attachment id., owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Error attachment text.\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/errors/{errorId}/attachments/{attachmentId}/location\n@desc Error attachment location.\n@required {errorId: any # The id of the error, attachmentId: any # Error attachment id., owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Error attachment location.\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/errors/{errorId}/attachments\n@desc List error attachments.\n@required {errorId: any # The id of the error, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) List of error attachments.\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/errors/search\n@desc Errors list based on search parameters\n@required {owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {filter: any # A filter as specified in OData notation, q: any # A query string, order: any # It controls the order of sorting, sort: any # It controls the sort based on specified field, $top: any # The maximum number of results to return, $skip: any # The offset (starting at 0) of the first result to return. This parameter along with limit is used to perform pagination.}\n@returns(200) List of errors\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/errors/retention_settings\n@desc gets the retention settings in days\n@required {owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Success\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/errors/errorfreeDevicePercentages\n@desc Percentage of error-free devices by day in the time range based on the selected versions. If SingleErrorTypeParameter is not provided, defaults to handlederror. API will return -1 if crash devices is greater than active devices\n@required {start: any # Start date time in data in ISO 8601 date time format, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {end: any # Last date time in data in ISO 8601 date time format, versions: any, app_build: any # app build, errorType: any # Type of error (handled vs unhandled), excluding All}\n@returns(200) Percentage of error-free devices by day in the time range and overall percentage of the entire time range.\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/errors/errorGroups/{errorGroupId}/stacktrace\n@desc Gets the stack trace for the error group.\n@required {errorGroupId: any # The id of the error group, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Gets the stack trace for the error group.\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/errors/errorGroups/{errorGroupId}/operatingSystems\n@desc Top OSes of the selected error group.\n@required {errorGroupId: any # The id of the error group, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {$top: any # The maximum number of results to return. (0 will fetch all results till the max number.)}\n@returns(200) Top OSes with percentage in descending order\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/errors/errorGroups/{errorGroupId}/models\n@desc Top models of the selected error group.\n@required {errorGroupId: any # The id of the error group, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {$top: any # The maximum number of results to return. (0 will fetch all results till the max number.)}\n@returns(200) Top Models with percentage in descending order\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/errors/errorGroups/{errorGroupId}/errors/{errorId}/stacktrace\n@desc Error Stacktrace details.\n@required {errorGroupId: any # The id of the error group, errorId: any # The id of the error, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Error stacktrace details.\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/errors/errorGroups/{errorGroupId}/errors/{errorId}/location\n@desc Error location.\n@required {errorGroupId: any # The id of the error group, errorId: any # The id of the error, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Error location.\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/errors/errorGroups/{errorGroupId}/errors/{errorId}/download\n@desc Download details for a specific error.\n@required {errorGroupId: any # The id of the error group, errorId: any # The id of the error, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {format: any # the format of the crash log}\n@returns(200) Error details.\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/errors/errorGroups/{errorGroupId}/errors/{errorId}\n@desc Error details.\n@required {errorGroupId: any # The id of the error group, errorId: any # The id of the error, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Error details.\n\n@endpoint DELETE /v0.1/apps/{owner_name}/{app_name}/errors/errorGroups/{errorGroupId}/errors/{errorId}\n@desc Delete a specific error and related attachments and blobs for an app. Searchable data will not be deleted immediately and may take up to 30 days.\n@required {errorGroupId: any # The id of the error group, errorId: any # The id of the error, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Success.\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/errors/errorGroups/{errorGroupId}/errors/latest\n@desc Latest error details.\n@required {errorGroupId: any # The id of the error group, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Latest error details.\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/errors/errorGroups/{errorGroupId}/errors\n@desc Get all errors for group\n@required {errorGroupId: any # The id of the error group, start: any # Start date time in data in ISO 8601 date time format, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {end: any # Last date time in data in ISO 8601 date time format, $top: any # The maximum number of results to return. (0 will fetch all results till the max number.), model: any, os: any}\n@returns(200) Get all errors for group\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/errors/errorGroups/{errorGroupId}/errorfreeDevicePercentages\n@desc Percentage of error-free devices by day in the time range. Api will return -1 if crash devices is greater than active devices\n@required {errorGroupId: any # The id of the error group, start: any # Start date time in data in ISO 8601 date time format, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {end: any # Last date time in data in ISO 8601 date time format}\n@returns(200) Percentage of error-free devices by day in the time range and overall percentage of the time range.\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/errors/errorGroups/{errorGroupId}/errorCountsPerDay\n@desc Count of errors by day in the time range of the selected error group with selected version\n@required {errorGroupId: any # The id of the error group, start: any # Start date time in data in ISO 8601 date time format, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {version: any, end: any # Last date time in data in ISO 8601 date time format}\n@returns(200) Count of errors by day in the time range and total errors over the time range.\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/errors/errorGroups/{errorGroupId}\n@desc Error group details\n@required {errorGroupId: any # The id of the error group, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Error group details\n\n@endpoint PATCH /v0.1/apps/{owner_name}/{app_name}/errors/errorGroups/{errorGroupId}\n@desc Update error group state\n@required {errorGroupId: any # The id of the error group, errorGroupState: map # The state of the error group, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Error group details\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/errors/errorGroups/search\n@desc Error groups list based on search parameters\n@required {owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {filter: any # A filter as specified in OData notation, q: any # A query string, order: any # It controls the order of sorting, sort: any # It controls the sort based on specified field, $top: any # The maximum number of results to return, $skip: any # The offset (starting at 0) of the first result to return. This parameter along with limit is used to perform pagination.}\n@returns(200) List of error groups\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/errors/errorGroups\n@desc List of error groups\n@required {start: any # Start date time in data in ISO 8601 date time format, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {version: any, app_build: any # app build, groupState: any, end: any # Last date time in data in ISO 8601 date time format, $orderby: any # controls the sorting order and sorting based on which column, $top: any # The maximum number of results to return. (0 will fetch all results till the max number.), errorType: any # Type of error (handled vs unhandled), including All}\n@returns(200) List of error groups\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/errors/errorCountsPerDay\n@desc Count of crashes or errors by day in the time range based the selected versions. If SingleErrorTypeParameter is not provided, defaults to handlederror.\n@required {start: any # Start date time in data in ISO 8601 date time format, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {version: any, end: any # Last date time in data in ISO 8601 date time format, app_build: any # app build, errorType: any # Type of error (handled vs unhandled), excluding All}\n@returns(200) Count of crashes or errors by day in the time range, and total over the entire time range.\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/errors/available_versions\n@desc Get all available versions in the time range.\n@required {start: any # Start date time in data in ISO 8601 date time format, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {end: any # Last date time in data in ISO 8601 date time format, $top: any # The maximum number of results to return. (0 will fetch all results till the max number.), $skip: any # The offset (starting at 0) of the first result to return. This parameter along with limit is used to perform pagination., $filter: any # A filter as specified in https://github.com/Microsoft/api-guidelines/blob/master/Guidelines.md#97-filtering., $inlinecount: any # Controls whether or not to include a count of all the items across all pages., errorType: any # Type of error (handled vs unhandled), including All}\n@returns(200) A list of available versions in the time range.\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/errors/availableAppBuilds\n@desc List of app builds\n@required {version: any, start: any # Start date time in data in ISO 8601 date time format, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {end: any # Last date time in data in ISO 8601 date time format, $top: any # The maximum number of results to return. (0 will fetch all results till the max number.), errorType: any # Type of error (handled vs unhandled), including All}\n@returns(200) List of App builds\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/distribution_stores/{store_name}/releases/{release_id}/realtimestatus\n@desc Return the Real time Status publishing of release from store.\n@required {store_name: any # The name of the store, release_id: any # The id of the release, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Success\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/distribution_stores/{store_name}/releases/{release_id}/publish_logs\n@desc Returns publish logs for a particular release published to a particular store\n@required {store_name: any # The name of the store, release_id: any # The ID of the realease, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Success\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/distribution_stores/{store_name}/releases/{release_id}/publish_error_details\n@desc Return the Error Details of release which failed in publishing.\n@required {store_name: any # The name of the store, release_id: any # The id of the release, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Success\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/distribution_stores/{store_name}/releases/{release_id}\n@desc Return releases published in a store for releaseId and storeId\n@required {store_name: any # The name of the store, release_id: any # The name of the store, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Success\n\n@endpoint DELETE /v0.1/apps/{owner_name}/{app_name}/distribution_stores/{store_name}/releases/{release_id}\n@desc delete the release with release Id\n@required {store_name: any # The name of the store, release_id: any # The id of the release, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {body: str}\n@returns(204) Success\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/distribution_stores/{store_name}/releases\n@desc Return all releases published  in a store\n@required {store_name: any # The name of the store, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Success\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/distribution_stores/{store_name}/latest_release\n@desc Returns the latest release published in a store.\n@required {store_name: any # The name of the store, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Success\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/distribution_stores/{store_name}\n@desc Return the store details for specified store name.\n@required {store_name: any # The name of the store, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Success\n\n@endpoint PATCH /v0.1/apps/{owner_name}/{app_name}/distribution_stores/{store_name}\n@desc Update the store.\n@required {store_name: any # The name of the store, body: any # Store update request, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Success\n\n@endpoint DELETE /v0.1/apps/{owner_name}/{app_name}/distribution_stores/{store_name}\n@desc delete the store based on specific store name.\n@required {store_name: any # The name of the store, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {body: str}\n@returns(204) Success\n\n@endpoint POST /v0.1/apps/{owner_name}/{app_name}/distribution_stores\n@desc Create a new external store for the specified application.\n@required {body: any # The store request, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(201) Success\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/distribution_stores\n@desc Get all the store details from Storage store table for a particular application.\n@required {owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Success\n\n@endpoint POST /v0.1/apps/{owner_name}/{app_name}/distribution_groups/{distribution_group_name}/resend_invite\n@desc Resend distribution group app invite notification to previously invited testers\n@required {owner_name: any # The name of the owner, app_name: any # The name of the application, distribution_group_name: any # The name of the distribution group, members: any # The list of members to add}\n@returns(204) Success\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/distribution_groups/{distribution_group_name}/releases/{release_id}\n@desc Return detailed information about a distributed release in a given distribution group.\n@required {owner_name: any # The name of the app owner, app_name: any # The name of the app, distribution_group_name: any # The name of the distribution group., release_id: any # Also supports the constant `latest`, which will return the latest release in the distribution group.}\n@optional {is_install_page: any # The check if the request is from Install page}\n@returns(200) Success\n@errors {404: Error Codes: - `not_found` - Distribution group or the app doesn't exist - `no_releases_for_app` - App has no releases., 501: Requesting a specific release_id is not supported.}\n\n@endpoint DELETE /v0.1/apps/{owner_name}/{app_name}/distribution_groups/{distribution_group_name}/releases/{release_id}\n@desc Deletes a release with id 'release_id' in a given distribution group.\n@required {owner_name: any # The name of the app owner, app_name: any # The name of the app, distribution_group_name: any # The name of the distribution group., release_id: any # The ID identifying the unique release.}\n@returns(200) Success\n@errors {404: Error codes: - `distribution_group_not_found` - Distribution group or the app doesn't exist. - `not_found` - release isn't found.}\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/distribution_groups/{distribution_group_name}/releases\n@desc Return basic information about distributed releases in a given distribution group.\n@required {distribution_group_name: any # The name of the distribution group., owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Success\n@errors {404: A distribution group can't be found.}\n\n@endpoint POST /v0.1/apps/{owner_name}/{app_name}/distribution_groups/{distribution_group_name}/members/bulk_delete\n@desc Remove the users from the distribution group\n@required {owner_name: any # The name of the owner, app_name: any # The name of the application, distribution_group_name: any # The name of the distribution group, members: any # The list of members to add}\n@returns(200) Success\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/distribution_groups/{distribution_group_name}/members\n@desc Returns a list of member details in the distribution group specified\n@required {owner_name: any # The name of the owner, app_name: any # The name of the application, distribution_group_name: any # The name of the distribution group}\n@optional {exclude_pending_invitations: any # Whether to exclude pending invitations in the response}\n@returns(200) Success\n\n@endpoint POST /v0.1/apps/{owner_name}/{app_name}/distribution_groups/{distribution_group_name}/members\n@desc Adds the members to the specified distribution group\n@required {owner_name: any # The name of the owner, app_name: any # The name of the application, distribution_group_name: any # The name of the distribution group, members: any # The list of members to add}\n@returns(200) Success\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/distribution_groups/{distribution_group_name}/devices/download_devices_list\n@desc Returns all devices associated with the given distribution group.\n@required {distribution_group_name: any # The name of the distribution group., owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {unprovisioned_only: any # when true, filters out provisioned devices, udids: any # multiple UDIDs which should be part of the resulting CSV.}\n@returns(200) Success\n@errors {400:bad_request: Devices information can only be requested for iOS apps., 404:not_found: A distribution group can't be found., 500: An internal error.}\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/distribution_groups/{distribution_group_name}/devices\n@desc Returns all devices associated with the given distribution group\n@required {distribution_group_name: any # The name of the distribution group., owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {release_id: any # when provided, gets the provisioning state of the devices owned by users of this distribution group when compared to the provided release.}\n@returns(200) Success\n@errors {400:bad_request: Devices information can only be requested for iOS apps., 404:not_found: A distribution group can't be found.}\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/distribution_groups/{distribution_group_name}\n@desc Returns a single distribution group for a given distribution group name\n@required {owner_name: any # The name of the owner, app_name: any # The name of the application, distribution_group_name: any # The name of the distribution group}\n@returns(200) Success\n\n@endpoint PATCH /v0.1/apps/{owner_name}/{app_name}/distribution_groups/{distribution_group_name}\n@desc Updates the attributes of distribution group\n@required {owner_name: any # The name of the owner, app_name: any # The name of the application, distribution_group_name: any # The name of the distribution group, distribution_group: any # The attributes to update for the distribution group}\n@returns(200) Success\n\n@endpoint DELETE /v0.1/apps/{owner_name}/{app_name}/distribution_groups/{distribution_group_name}\n@desc Deletes a distribution group\n@required {app_name: any # The name of the application, owner_name: any # The name of the owner, distribution_group_name: any # The name of the distribution group}\n@returns(204) Success\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/distribution_groups\n@desc Returns a list of distribution groups in the app specified\n@required {owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Success\n\n@endpoint POST /v0.1/apps/{owner_name}/{app_name}/distribution_groups\n@desc Creates a new distribution group and returns it to the caller\n@required {owner_name: any # The name of the owner, app_name: any # The name of the application, distribution_group: any # The attributes to update for the distribution group}\n@returns(201) Success\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/diagnostics/symbol_groups_info\n@desc Gets application level statistics for all missing symbol groups\n@required {owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Success\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/diagnostics/symbol_groups/{symbol_group_id}\n@desc Gets missing symbol crash group by its id\n@required {symbol_group_id: any # missing symbol crash group id, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Success\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/diagnostics/symbol_groups\n@desc Gets top N (ordered by crash count) of crash groups by missing symbol\n@required {top: any # top N elements, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Success\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/crashes_info\n@desc Gets whether the application has any crashes.\n@required {owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Success\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/crashes/{crash_id}/attachments/{attachment_id}/text\n@desc Gets content of the text attachment.\n@required {crash_id: any # id of a specific crash, attachment_id: any # attachment id, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Success\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/crashes/{crash_id}/attachments/{attachment_id}/location\n@desc Gets the URI location to download crash attachment.\n@required {crash_id: any # id of a specific crash, attachment_id: any # attachment id, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Success\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/crashes/{crash_id}/attachments\n@desc Gets all attachments for a specific crash.\n@required {crash_id: any # id of a specific crash, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Success\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/crash_groups/{crash_group_id}/stacktrace\n@desc Gets a stacktrace for a specific crash.\n@required {crash_group_id: any # id of a specific group, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {grouping_only: any # true if the stacktrace should be only the relevant thread / exception. Default is false}\n@returns(200) Success\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/crash_groups/{crash_group_id}/crashes/{crash_id}/stacktrace\n@desc Gets a stacktrace for a specific crash.\n@required {crash_group_id: any # id of a specific group, crash_id: any # id of a specific crash, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {grouping_only: any # true if the stacktrace should be only the relevant thread / exception. Default is false}\n@returns(200) Success\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/crash_groups/{crash_group_id}/crashes/{crash_id}/raw/location\n@desc Gets the URI location to download json of a specific crash.\n@required {crash_group_id: any # id of a specific group, crash_id: any # id of a specific crash, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Success\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/crash_groups/{crash_group_id}/crashes/{crash_id}/native/download\n@desc Gets the native log of a specific crash as a text attachment.\n@required {crash_group_id: any # id of a specific group, crash_id: any # id of a specific crash, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Success\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/crash_groups/{crash_group_id}/crashes/{crash_id}/native\n@desc Gets the native log of a specific crash.\n@required {crash_group_id: any # id of a specific group, crash_id: any # id of a specific crash, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Success\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/crash_groups/{crash_group_id}/crashes/{crash_id}\n@desc Gets a specific crash for an app.\n@required {crash_group_id: any # id of a specific group, crash_id: any # id of a specific crash, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {include_report: any # true if the crash should include the raw crash report. Default is false, include_log: any # true if the crash should include the custom log report. Default is false, include_details: any # true if the crash should include in depth crash details, include_stacktrace: any # true if the crash should include the stacktrace information, grouping_only: any # true if the stacktrace should be only the relevant thread / exception. Default is false}\n@returns(201) Created\n\n@endpoint DELETE /v0.1/apps/{owner_name}/{app_name}/crash_groups/{crash_group_id}/crashes/{crash_id}\n@desc Delete a specific crash and related attachments and blobs for an app.\n@required {crash_group_id: any # id of a specific group, crash_id: any # id of a specific crash, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {retention_delete: any # true in that case if the method should skip update counts}\n@returns(200) Success\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/crash_groups/{crash_group_id}/crashes\n@desc Gets all crashes of a group.\n@required {crash_group_id: any # id of a specific group, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {include_report: any # true if the crash should include the raw crash report. Default is false, include_log: any # true if the crash should include the custom log report. Default is false, date_from: any, date_to: any, app_version: any # version, error_type: any}\n@returns(200) Success\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/crash_groups/{crash_group_id}\n@desc Gets a specific group.\n@required {crash_group_id: any # id of a specific group, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Success\n\n@endpoint PATCH /v0.1/apps/{owner_name}/{app_name}/crash_groups/{crash_group_id}\n@desc Updates a group.\n@required {crash_group_id: any # id of a specific group, group: map # Group change object. All fields are optional and only provided fields will get updated., owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Success\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/crash_groups\n@desc Gets a list of crash groups and whether the list contains all available groups.\n@required {owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {last_occurrence_from: any # Earliest date when the last time a crash occured in a crash group, last_occurrence_to: any # Latest date when the last time a crash occured in a crash group, app_version: any # version, group_type: any, group_status: any, group_text_search: any # A freetext search that matches in crash, crash types, crash stack_traces and crash user, $orderby: any # the OData-like $orderby argument, continuation_token: any # Cassandra request continuation token. The token is used for pagination.}\n@returns(200) Success\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/bugtracker/crashGroup/{crash_group_id}\n@desc Get project issue related to a crash group\n@required {crash_group_id: any # CrashGroup Id, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Success\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/bugtracker\n@desc Get bug tracker settings for a particular app\n@required {owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Success\n\n@endpoint DELETE /v0.1/apps/{owner_name}/{app_name}/azure_subscriptions/{azure_subscription_id}\n@desc Delete the azure subscriptions for the app\n@required {azure_subscription_id: any # The unique ID (UUID) of the azure subscription, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(204) Success\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/azure_subscriptions\n@desc Returns a list of azure subscriptions for the app\n@required {owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Success\n\n@endpoint POST /v0.1/apps/{owner_name}/{app_name}/azure_subscriptions\n@desc Link azure subscription to an app\n@required {owner_name: any # The name of the owner, app_name: any # The name of the application, azure_subscription_to_app_data: any # The azure subscription data needed to be link to the app.}\n@returns(204) Success\n\n@endpoint POST /v0.1/apps/{owner_name}/{app_name}/avatar\n@desc Sets the app avatar\n@required {owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {avatar: any # The image for an app avatar to upload.}\n@returns(200) Success\n\n@endpoint DELETE /v0.1/apps/{owner_name}/{app_name}/avatar\n@desc Deletes the uploaded app avatar\n@required {owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Success\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/apple_test_flight_groups\n@desc Fetch all apple test flight groups\n@required {owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Success\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/apple_mapping\n@desc Get mapping of apple app to an existing app in apple store.\n@required {owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Success\n\n@endpoint DELETE /v0.1/apps/{owner_name}/{app_name}/apple_mapping\n@desc Delete mapping of apple app to an existing app in apple store.\n@required {owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {body: str}\n@returns(200) Success\n\n@endpoint POST /v0.1/apps/{owner_name}/{app_name}/apple_mapping\n@desc Create a mapping for an existing app in apple store for the specified application.\n@required {body: any # The apple app mapping object, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(201) Success\n\n@endpoint DELETE /v0.1/apps/{owner_name}/{app_name}/api_tokens/{api_token_id}\n@desc Delete the App Api Token object with the specific ID\n@required {owner_name: any # The name of the owner, app_name: any # The name of the application, api_token_id: any # The unique ID (UUID) of the api token}\n@returns(204) Success\n@errors {400: Error, 401: Unauthorized, 404: NotFound}\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/api_tokens\n@desc Returns App API tokens for the app\n@required {owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Success\n@errors {400: Error, 401: Unauthorized}\n\n@endpoint POST /v0.1/apps/{owner_name}/{app_name}/api_tokens\n@desc Creates a new App API token\n@required {owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {description: any # Description of the token}\n@returns(201) Success\n@errors {400: Error, 401: Unauthorized}\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/analytics_aks/versions\n@desc Count of active versions in the time range ordered by version.\n@required {start: any # Start date time in data in ISO 8601 date time format., owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {end: any # Last date time in data in ISO 8601 date time format., $top: any # The maximum number of results to return. (0 will fetch all results), versions: any # To select specific application versions}\n@returns(200) Count of active versions in the time range ordered by version.\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/analytics_aks/sessions_per_device\n@desc Count of sessions per device in the time range.\n@required {start: any # Start date time in data in ISO 8601 date time format., owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {end: any # Last date time in data in ISO 8601 date time format., versions: any # To select specific application versions}\n@returns(200) Count of sessions per device in the time range.\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/analytics_aks/session_durations_distribution\n@desc Gets session duration.\n@required {start: any # Start date time in data in ISO 8601 date time format., owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {end: any # Last date time in data in ISO 8601 date time format., versions: any # To select specific application versions}\n@returns(200) List of  session durations for requested time range.\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/analytics_aks/session_counts\n@desc Count of sessions in the time range.\n@required {start: any # Start date time in data in ISO 8601 date time format., owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {end: any # Last date time in data in ISO 8601 date time format., versions: any # To select specific application versions}\n@returns(200) Count of sessions in the time range.\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/analytics_aks/places\n@desc Places in the time range.\n@required {start: any # Start date time in data in ISO 8601 date time format., owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {end: any # Last date time in data in ISO 8601 date time format., $top: any # The maximum number of results to return. (0 will fetch all results), versions: any # To select specific application versions}\n@returns(200) Places with count during the time range in descending order.\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/analytics_aks/oses\n@desc OSes in the time range.\n@required {start: any # Start date time in data in ISO 8601 date time format., owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {end: any # Last date time in data in ISO 8601 date time format., $top: any # The maximum number of results to return. (0 will fetch all results), versions: any # To select specific application versions}\n@returns(200) OSes with count during the time range in descending order.\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/analytics_aks/models\n@desc Models in the time range.\n@required {start: any # Start date time in data in ISO 8601 date time format., owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {end: any # Last date time in data in ISO 8601 date time format., $top: any # The maximum number of results to return. (0 will fetch all results), versions: any # To select specific application versions}\n@returns(200) Models with count during the time range in descending order.\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/analytics_aks/languages\n@desc Languages in the time range.\n@required {start: any # Start date time in data in ISO 8601 date time format., owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {end: any # Last date time in data in ISO 8601 date time format., $top: any # The maximum number of results to return. (0 will fetch all results), versions: any # To select specific application versions}\n@returns(200) Languages with count during the time range in descending order.\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/analytics_aks/events/{event_name}/properties/{event_property_name}/counts\n@desc Event properties value counts during the time range in descending order.\n@required {event_name: any # The id of the event., event_property_name: any # The id of the event property., start: any # Start date time in data in ISO 8601 date time format., owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {end: any # Last date time in data in ISO 8601 date time format., versions: any # To select specific application versions, $top: any # The number of property values to return. Set to 0 in order to fetch all results available.}\n@returns(200) Event properties value counts during the time range in descending order.\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/analytics_aks/events/{event_name}/properties\n@desc Event properties.\n@required {event_name: any # The id of the event., owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Event properties.\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/analytics_aks/events/{event_name}/event_count\n@desc Count of events by interval in the time range.\n@required {event_name: any # The id of the event., start: any # Start date time in data in ISO 8601 date time format., owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {end: any # Last date time in data in ISO 8601 date time format., versions: any # To select specific application versions}\n@returns(200) Count of events by interval in the time range.\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/analytics_aks/events/{event_name}/device_count\n@desc Count of devices for an event by interval in the time range.\n@required {event_name: any # The id of the event., start: any # Start date time in data in ISO 8601 date time format., owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {end: any # Last date time in data in ISO 8601 date time format., versions: any # To select specific application versions}\n@returns(200) Count of devices for an event by interval in the time range.\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/analytics_aks/events/{event_name}/count_per_session\n@desc Count of events per session by interval in the time range.\n@required {event_name: any # The id of the event., start: any # Start date time in data in ISO 8601 date time format., owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {end: any # Last date time in data in ISO 8601 date time format., versions: any # To select specific application versions}\n@returns(200) Count of events per session by interval in the time range.\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/analytics_aks/events/{event_name}/count_per_device\n@desc Count of events per device by interval in the time range.\n@required {event_name: any # The id of the event., start: any # Start date time in data in ISO 8601 date time format., owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {end: any # Last date time in data in ISO 8601 date time format., versions: any # To select specific application versions}\n@returns(200) Count of events per device by interval in the time range.\n\n@endpoint DELETE /v0.1/apps/{owner_name}/{app_name}/analytics_aks/events/{event_name}\n@desc Delete the set of Events with the specified event names.\n@required {event_name: any # The id of the event., owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Event successfully deleted.\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/analytics_aks/events\n@desc Count of active events in the time range ordered by event.\n@required {start: any # Start date time in data in ISO 8601 date time format., owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {end: any # Last date time in data in ISO 8601 date time format., versions: any # To select specific application versions, event_name: any # To select the specific events., $top: any # The maximum number of results to return. (0 will fetch all results), $skip: any # The offset (starting at 0) of the first result to return. This parameter along with limit is used to perform pagination., $inlinecount: any # Controls whether or not to include a count of all the items across all pages., $orderby: any # controls the sorting order and sorting based on which column}\n@returns(200) Count of active events in the time range ordered by event.\n\n@endpoint DELETE /v0.1/apps/{owner_name}/{app_name}/analytics_aks/event_logs/{event_name}\n@desc Delete the set of Events with the specified event names.\n@required {event_name: any # The id of the event., owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Event successfully deleted.\n\n@endpoint POST /v0.1/apps/{owner_name}/{app_name}/analytics_aks/distribution/release_counts\n@desc Count of total downloads for the provided distribution releases.\n@required {releases: map # The releases to retrieve., owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Count of total downloads for the provided distribution release(s).\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/analytics_aks/crashfree_device_percentages\n@desc Percentage of crash-free device by day in the time range based on the selected versions. Api will return -1 if crash devices is greater than active devices.\n@required {start: any # Start date time in data in ISO 8601 date time format., version: any, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {end: any # Last date time in data in ISO 8601 date time format.}\n@returns(200) Percentage of crash-free devices by day in the time range and overall percentage of the time range.\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/analytics_aks/crash_groups/{crash_group_id}/overall\n@desc Available for UWP apps only.\n@required {crash_group_id: any # The id of the crash group., version: any, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Overall crashes and affected users count.\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/analytics_aks/crash_groups/{crash_group_id}/operating_systems\n@desc Available for UWP apps only.\n@required {crash_group_id: any # The id of the crash group., version: any, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {$top: any # The maximum number of results to return. (0 will fetch all results)}\n@returns(200) Top OSes with percentage in descending order.\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/analytics_aks/crash_groups/{crash_group_id}/models\n@desc Available for UWP apps only.\n@required {crash_group_id: any # The id of the crash group., version: any, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {$top: any # The maximum number of results to return. (0 will fetch all results)}\n@returns(200) Top models with percentage in descending order.\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/analytics_aks/crash_groups/{crash_group_id}/crash_counts\n@desc Available for UWP apps only.\n@required {crash_group_id: any # The id of the crash group., version: any, start: any # Start date time in data in ISO 8601 date time format., owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {end: any # Last date time in data in ISO 8601 date time format.}\n@returns(200) Count of crashes by day in the time range and total crashes over the time range.\n\n@endpoint POST /v0.1/apps/{owner_name}/{app_name}/analytics_aks/crash_groups\n@desc Overall crashes and affected users count of the selected crash groups with selected versions.\n@required {crash_groups: map, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Overall crashes and affected users count for all selected crash groups.\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/analytics_aks/crash_counts\n@desc Available for UWP apps only.\n@required {start: any # Start date time in data in ISO 8601 date time format., owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {end: any # Last date time in data in ISO 8601 date time format., versions: any # To select specific application versions}\n@returns(200) Count of crashes by day in the time range and total crashes over the time range.\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/analytics_aks/active_device_counts\n@desc Count of active devices by interval in the time range.\n@required {start: any # Start date time in data in ISO 8601 date time format., owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {end: any # Last date time in data in ISO 8601 date time format., versions: any # To select specific application versions, app_build: any # Application build number. If build number is specified than multiple versions are not allowed.}\n@returns(200) Count of active devices by interval in the time range.\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/analytics/versions\n@desc Count of active versions in the time range ordered by version.\n@required {start: any # Start date time in data in ISO 8601 date time format., owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {end: any # Last date time in data in ISO 8601 date time format., $top: any # The maximum number of results to return. (0 will fetch all results), versions: any # To select specific application versions}\n@returns(200) Count of active versions in the time range ordered by version.\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/analytics/sessions_per_device\n@desc Count of sessions per device in the time range.\n@required {start: any # Start date time in data in ISO 8601 date time format., owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {end: any # Last date time in data in ISO 8601 date time format., versions: any # To select specific application versions}\n@returns(200) Count of sessions per device in the time range.\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/analytics/session_durations_distribution\n@desc Gets session duration.\n@required {start: any # Start date time in data in ISO 8601 date time format., owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {end: any # Last date time in data in ISO 8601 date time format., versions: any # To select specific application versions}\n@returns(200) List of  session durations for requested time range.\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/analytics/session_counts\n@desc Count of sessions in the time range.\n@required {start: any # Start date time in data in ISO 8601 date time format., owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {end: any # Last date time in data in ISO 8601 date time format., versions: any # To select specific application versions}\n@returns(200) Count of sessions in the time range.\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/analytics/places\n@desc Places in the time range.\n@required {start: any # Start date time in data in ISO 8601 date time format., owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {end: any # Last date time in data in ISO 8601 date time format., $top: any # The maximum number of results to return. (0 will fetch all results), versions: any # To select specific application versions}\n@returns(200) Places with count during the time range in descending order.\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/analytics/oses\n@desc OSes in the time range.\n@required {start: any # Start date time in data in ISO 8601 date time format., owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {end: any # Last date time in data in ISO 8601 date time format., $top: any # The maximum number of results to return. (0 will fetch all results), versions: any # To select specific application versions}\n@returns(200) OSes with count during the time range in descending order.\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/analytics/models\n@desc Models in the time range.\n@required {start: any # Start date time in data in ISO 8601 date time format., owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {end: any # Last date time in data in ISO 8601 date time format., $top: any # The maximum number of results to return. (0 will fetch all results), versions: any # To select specific application versions}\n@returns(200) Models with count during the time range in descending order.\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/analytics/log_flow\n@desc Logs received between the specified start time and the current time. The API will return a maximum of 100 logs per call.\n@required {owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {start: any # Start date time in data in ISO 8601 date time format. It must be within the current day in the UTC timezone. The default value is the start time of the current day in UTC timezone.}\n@returns(200) List of logs for the requested time range.\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/analytics/languages\n@desc Languages in the time range.\n@required {start: any # Start date time in data in ISO 8601 date time format., owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {end: any # Last date time in data in ISO 8601 date time format., $top: any # The maximum number of results to return. (0 will fetch all results), versions: any # To select specific application versions}\n@returns(200) Languages with count during the time range in descending order.\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/analytics/generic_log_flow\n@desc Logs received between the specified start time and the current time. The API will return a maximum of 100 logs per call.\n@required {owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {start: any # Start date time in data in ISO 8601 date time format. It must be within the current day in the UTC timezone. The default value is the start time of the current day in UTC timezone.}\n@returns(200) List of logs for the requested time range.\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/analytics/events/{event_name}/properties/{event_property_name}/counts\n@desc Event properties value counts during the time range in descending order.\n@required {event_name: any # The id of the event., event_property_name: any # The id of the event property., start: any # Start date time in data in ISO 8601 date time format., owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {end: any # Last date time in data in ISO 8601 date time format., versions: any # To select specific application versions, $top: any # The number of property values to return. Set to 0 in order to fetch all results available.}\n@returns(200) Event properties value counts during the time range in descending order.\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/analytics/events/{event_name}/properties\n@desc Event properties.\n@required {event_name: any # The id of the event., owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Event properties.\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/analytics/events/{event_name}/event_count\n@desc Count of events by interval in the time range.\n@required {event_name: any # The id of the event., start: any # Start date time in data in ISO 8601 date time format., owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {end: any # Last date time in data in ISO 8601 date time format., versions: any # To select specific application versions}\n@returns(200) Count of events by interval in the time range.\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/analytics/events/{event_name}/device_count\n@desc Count of devices for an event by interval in the time range.\n@required {event_name: any # The id of the event., start: any # Start date time in data in ISO 8601 date time format., owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {end: any # Last date time in data in ISO 8601 date time format., versions: any # To select specific application versions}\n@returns(200) Count of devices for an event by interval in the time range.\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/analytics/events/{event_name}/count_per_session\n@desc Count of events per session by interval in the time range.\n@required {event_name: any # The id of the event., start: any # Start date time in data in ISO 8601 date time format., owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {end: any # Last date time in data in ISO 8601 date time format., versions: any # To select specific application versions}\n@returns(200) Count of events per session by interval in the time range.\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/analytics/events/{event_name}/count_per_device\n@desc Count of events per device by interval in the time range.\n@required {event_name: any # The id of the event., start: any # Start date time in data in ISO 8601 date time format., owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {end: any # Last date time in data in ISO 8601 date time format., versions: any # To select specific application versions}\n@returns(200) Count of events per device by interval in the time range.\n\n@endpoint DELETE /v0.1/apps/{owner_name}/{app_name}/analytics/events/{event_name}\n@desc Delete the set of Events with the specified event names.\n@required {event_name: any # The id of the event., owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Event successfully deleted.\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/analytics/events\n@desc Count of active events in the time range ordered by event.\n@required {start: any # Start date time in data in ISO 8601 date time format., owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {end: any # Last date time in data in ISO 8601 date time format., versions: any # To select specific application versions, event_name: any # To select the specific events., $top: any # The maximum number of results to return. (0 will fetch all results), $skip: any # The offset (starting at 0) of the first result to return. This parameter along with limit is used to perform pagination., $inlinecount: any # Controls whether or not to include a count of all the items across all pages., $orderby: any # controls the sorting order and sorting based on which column}\n@returns(200) Count of active events in the time range ordered by event.\n\n@endpoint DELETE /v0.1/apps/{owner_name}/{app_name}/analytics/event_logs/{event_name}\n@desc Delete the set of Events with the specified event names.\n@required {event_name: any # The id of the event., owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Event successfully deleted.\n\n@endpoint POST /v0.1/apps/{owner_name}/{app_name}/analytics/distribution/release_counts\n@desc Count of total downloads for the provided distribution releases.\n@required {releases: map # The releases to retrieve., owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Count of total downloads for the provided distribution release(s).\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/analytics/crashfree_device_percentages\n@desc Percentage of crash-free device by day in the time range based on the selected versions. Api will return -1 if crash devices is greater than active devices.\n@required {start: any # Start date time in data in ISO 8601 date time format., version: any, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {end: any # Last date time in data in ISO 8601 date time format.}\n@returns(200) Percentage of crash-free devices by day in the time range and overall percentage of the time range.\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/analytics/crash_groups/{crash_group_id}/overall\n@desc Available for UWP apps only.\n@required {crash_group_id: any # The id of the crash group., version: any, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Overall crashes and affected users count.\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/analytics/crash_groups/{crash_group_id}/operating_systems\n@desc Available for UWP apps only.\n@required {crash_group_id: any # The id of the crash group., version: any, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {$top: any # The maximum number of results to return. (0 will fetch all results)}\n@returns(200) Top OSes with percentage in descending order.\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/analytics/crash_groups/{crash_group_id}/models\n@desc Available for UWP apps only.\n@required {crash_group_id: any # The id of the crash group., version: any, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {$top: any # The maximum number of results to return. (0 will fetch all results)}\n@returns(200) Top models with percentage in descending order.\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/analytics/crash_groups/{crash_group_id}/crash_counts\n@desc Available for UWP apps only.\n@required {crash_group_id: any # The id of the crash group., version: any, start: any # Start date time in data in ISO 8601 date time format., owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {end: any # Last date time in data in ISO 8601 date time format.}\n@returns(200) Count of crashes by day in the time range and total crashes over the time range.\n\n@endpoint POST /v0.1/apps/{owner_name}/{app_name}/analytics/crash_groups\n@desc Overall crashes and affected users count of the selected crash groups with selected versions.\n@required {crash_groups: map, owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Overall crashes and affected users count for all selected crash groups.\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/analytics/crash_counts\n@desc Available for UWP apps only.\n@required {start: any # Start date time in data in ISO 8601 date time format., owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {end: any # Last date time in data in ISO 8601 date time format., versions: any # To select specific application versions}\n@returns(200) Count of crashes by day in the time range and total crashes over the time range.\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}/analytics/active_device_counts\n@desc Count of active devices by interval in the time range.\n@required {start: any # Start date time in data in ISO 8601 date time format., owner_name: any # The name of the owner, app_name: any # The name of the application}\n@optional {end: any # Last date time in data in ISO 8601 date time format., versions: any # To select specific application versions, app_build: any # Application build number. If build number is specified than multiple versions are not allowed.}\n@returns(200) Count of active devices by interval in the time range.\n\n@endpoint GET /v0.1/apps/{owner_name}/{app_name}\n@desc Return a specific app with the given app name which belongs to the given owner.\n@required {owner_name: any # The name of the owner, app_name: any # The name of the application}\n@returns(200) Success\n\n@endpoint PATCH /v0.1/apps/{owner_name}/{app_name}\n@desc Partially updates a single app\n@required {app_name: any # The name of the application, owner_name: any # The name of the owner}\n@optional {app: any # The partial data for the app}\n@returns(200) Success\n\n@endpoint DELETE /v0.1/apps/{owner_name}/{app_name}\n@desc Delete an app\n@required {app_name: any # The name of the application, owner_name: any # The name of the owner}\n@returns(204) Success\n\n@endpoint POST /v0.1/apps\n@desc Creates a new app and returns it to the caller\n@required {app: any # The data for the app}\n@returns(201) Success\n\n@endpoint GET /v0.1/apps\n@desc Returns a list of apps\n@optional {$orderBy: any # The name of the attribute by which to order the response by. By default, apps are in order of creation. All results are ordered in ascending order.}\n@returns(200) Success\n\n@endpoint DELETE /v0.1/api_tokens/{api_token_id}\n@desc Delete the user api_token object with the specific id\n@required {api_token_id: any # The unique ID (UUID) of the api token}\n@returns(204) Success\n@errors {400: Error, 401: Unauthorized, 404: NotFound}\n\n@endpoint GET /v0.1/api_tokens\n@desc Returns api tokens for the authenticated user\n@returns(200) Success\n@errors {400: Error, 401: Unauthorized}\n\n@endpoint POST /v0.1/api_tokens\n@desc Creates a new User API token\n@optional {description: any # Description of the token}\n@returns(201) Success\n@errors {400: Error, 401: Unauthorized}\n\n@endpoint GET /v0.1/administeredOrgs\n@desc Returns a list organizations in which the requesting user is an admin\n@returns(200) Success\n\n@end\n"}}