app-center-client — quality + safety report

In the Skillier index (lap__appcenter-ms-appcenter-ms) · scanned 2026-06-03 · engine: builtin+triage

A
Quality
90/100
Safety

✓ Clean — no heuristic safety flags surfaced.

Heuristic flags from the builtin scanner, which is known to over-flag (it trips on legitimate env-reading integrations, security skills, and library .eval calls). This is NOT an authoritative malicious verdict — re-scan with SkillSpector for the authoritative result. Run the authoritative scan →

Skillproof quality grade A

📇 This skill is in the Skillier index (curated · deduped · quality-filtered). Install Skillier to route & load it into your AI client.

Quality notes

Skill is large (~14637 tokens)
medium · quality · body
→ Tighten to the essential procedure; move long reference material to linked files.
No example
low · quality · body
→ Add at least one worked example (input → expected action/output).

About this skill

App Center Client API skill. Use when working with App Center Client for v0.1. Covers 265 endpoints.

📄 Read the SKILL.md
---
name: app-center-client
description: "App Center Client API skill. Use when working with App Center Client for v0.1. Covers 265 endpoints."
version: 1.0.0
generator: lapsh
---

# App Center Client
API version: v0.1

## Auth
ApiKey X-API-Token in header | basic

## Base URL
https://api.appcenter.ms/

## Setup
1. Set your API key in the appropriate header
2. GET /v0.1/user/notifications/emailSettings -- verify access
3. POST /v0.1/users/{user_id}/devices/register -- create first register

## Endpoints

265 endpoints across 1 groups. See references/api-spec.lap for full details.

### v0.1
| Method | Path | Description |
|--------|------|-------------|
| POST | /v0.1/users/{user_id}/devices/register | Registers a user for an existing device |
| GET | /v0.1/user/notifications/emailSettings | Get Default email notification settings for the user |
| GET | /v0.1/user/metadata/optimizely |  |
| POST | /v0.1/user/invitations/orgs/{invitation_token}/reject | Rejects a pending organization invitation |
| POST | /v0.1/user/invitations/orgs/{invitation_token}/accept | Accepts a pending organization invitation for the specified user |
| POST | /v0.1/user/invitations/distribution_groups/accept | Accepts all pending invitations to distribution groups for the specified user |
| POST | /v0.1/user/invitations/apps/{invitation_token}/reject | Rejects a pending invitation for the specified user |
| POST | /v0.1/user/invitations/apps/{invitation_token}/accept | Accepts a pending invitation for the specified user |
| GET | /v0.1/user/export/serviceConnections | Gets all service connections of the service type for GDPR export. |
| POST | /v0.1/user/dsr/export/{token}/cancel |  |
| GET | /v0.1/user/dsr/export/{token} |  |
| POST | /v0.1/user/dsr/export |  |
| POST | /v0.1/user/dsr/delete/{token}/cancel |  |
| GET | /v0.1/user/dsr/delete/{token} |  |
| POST | /v0.1/user/dsr/delete |  |
| GET | /v0.1/user/devices/{device_udid} | Returns the device details. |
| DELETE | /v0.1/user/devices/{device_udid} | Removes an existing device from a user |
| GET | /v0.1/user/devices | Returns all devices associated with the given user. |
| GET | /v0.1/user | Returns the user profile data |
| PATCH | /v0.1/user | Updates the user profile and returns the updated user data |
| 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. |
| 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. |
| GET | /v0.1/public/sparkle/apps/{app_secret} | Gets the sparkle feed of the releases that are distributed to all the public distribution groups. |
| 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 |
| GET | /v0.1/public/sdk/apps/{app_secret}/releases/latest | Get the latest public release for the given app. |
| 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. |
| POST | /v0.1/public/apps/{owner_name}/{app_name}/install_analytics | Notify download(s) for the provided distribution release(s). |
| 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. |
| GET | /v0.1/orgs/{org_name}/users/{user_name}/apps | Get a user apps information from an organization by name |
| PATCH | /v0.1/orgs/{org_name}/users/{user_name} | Updates the given organization user |
| DELETE | /v0.1/orgs/{org_name}/users/{user_name} | Removes a user from an organization. |
| 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 |
| GET | /v0.1/orgs/{org_name}/users | Returns a list of users that belong to an organization |
| 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 |
| DELETE | /v0.1/orgs/{org_name}/teams/{team_name}/users/{user_name} | Removes a user from a team that is owned by an organization |
| GET | /v0.1/orgs/{org_name}/teams/{team_name}/users | Returns the users of a team which is owned by an organization |
| POST | /v0.1/orgs/{org_name}/teams/{team_name}/users | Adds a new user to a team that is owned by an organization |
| PATCH | /v0.1/orgs/{org_name}/teams/{team_name}/apps/{app_name} | Updates the permissions the team has to the app |
| DELETE | /v0.1/orgs/{org_name}/teams/{team_name}/apps/{app_name} | Removes an app from a team |
| POST | /v0.1/orgs/{org_name}/teams/{team_name}/apps | Adds an app to a team |
| GET | /v0.1/orgs/{org_name}/teams/{team_name}/apps | Returns the apps a team has access to |
| GET | /v0.1/orgs/{org_name}/teams/{team_name} | Returns the details of a single team |
| DELETE | /v0.1/orgs/{org_name}/teams/{team_name} | Deletes a single team |
| PATCH | /v0.1/orgs/{org_name}/teams/{team_name} | Updates a single team |
| GET | /v0.1/orgs/{org_name}/teams | Returns the list of all teams in this org |
| POST | /v0.1/orgs/{org_name}/teams | Creates a team and returns it |
| POST | /v0.1/orgs/{org_name}/invitations/{email}/revoke | Removes a user's invitation to an organization |
| POST | /v0.1/orgs/{org_name}/invitations/{email}/resend | Cancels an existing organization invitation for the user and sends a new one |
| PATCH | /v0.1/orgs/{org_name}/invitations/{email} | Allows the role of an invited user to be changed |
| POST | /v0.1/orgs/{org_name}/invitations | Invites a new or existing user to an organization |
| DELETE | /v0.1/orgs/{org_name}/invitations | Removes a user's invitation to an organization |
| GET | /v0.1/orgs/{org_name}/invitations | Gets the pending invitations for the organization |
| GET | /v0.1/orgs/{org_name}/distribution_groups_details | Returns a list of distribution groups with details for an organization |
| POST | /v0.1/orgs/{org_name}/distribution_groups/{distribution_group_name}/resend_invite | Resend shared distribution group invite notification to previously invited testers |
| POST | /v0.1/orgs/{org_name}/distribution_groups/{distribution_group_name}/members/bulk_delete | Delete testers from distribution group in an org |
| GET | /v0.1/orgs/{org_name}/distribution_groups/{distribution_group_name}/members | Returns a list of member in the distribution group specified |
| 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 |
| POST | /v0.1/orgs/{org_name}/distribution_groups/{distribution_group_name}/apps/bulk_delete | Delete apps from distribution group in an org |
| GET | /v0.1/orgs/{org_name}/distribution_groups/{distribution_group_name}/apps | Get apps from a distribution group in an org |
| POST | /v0.1/orgs/{org_name}/distribution_groups/{distribution_group_name}/apps | Add apps to distribution group in an org |
| GET | /v0.1/orgs/{org_name}/distribution_groups/{distribution_group_name} | Returns a single distribution group in org for a given distribution group name |
| PATCH | /v0.1/orgs/{org_name}/distribution_groups/{distribution_group_name} | Update one given distribution group name in an org |
| 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 |
| POST | /v0.1/orgs/{org_name}/distribution_groups | Creates a disribution goup which can be shared across apps under an organization |
| GET | /v0.1/orgs/{org_name}/distribution_groups | Returns a list of distribution groups in the org specified |
| GET | /v0.1/orgs/{org_name}/azure_subscriptions | Returns a list of azure subscriptions for the organization |
| POST | /v0.1/orgs/{org_name}/avatar | Sets the organization avatar |
| DELETE | /v0.1/orgs/{org_name}/avatar | Deletes the uploaded organization avatar |
| POST | /v0.1/orgs/{org_name}/apps | Creates a new app for the organization and returns it to the caller |
| GET | /v0.1/orgs/{org_name}/apps | Returns a list of apps for the organization |
| GET | /v0.1/orgs/{org_name} | Returns the details of a single organization |
| PATCH | /v0.1/orgs/{org_name} | Returns a list of organizations the requesting user has access to |
| DELETE | /v0.1/orgs/{org_name} | Deletes a single organization |
| POST | /v0.1/orgs | Creates a new organization and returns it to the caller |
| GET | /v0.1/orgs | Returns a list of organizations the requesting user has access to |
| GET | /v0.1/invitations/sent | Returns all invitations sent by the caller |
| GET | /v0.1/azure_subscriptions | Returns a list of azure subscriptions for the user |
| GET | /v0.1/apps/{owner_name}/{app_name}/webhooks | Get web hooks configured for a particular app |
| GET | /v0.1/apps/{owner_name}/{app_name}/versions | Gets a list of application versions. |
| DELETE | /v0.1/apps/{owner_name}/{app_name}/users/{user_email} | Removes the user from the app |
| PATCH | /v0.1/apps/{owner_name}/{app_name}/users/{user_email} | Update user permission for the app |
| 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. |
| GET | /v0.1/apps/{owner_name}/{app_name}/uploads/releases/{upload_id} | Get the current status of the release upload. |
| PATCH | /v0.1/apps/{owner_name}/{app_name}/uploads/releases/{upload_id} | Update the current status of the release upload. |
| POST | /v0.1/apps/{owner_name}/{app_name}/uploads/releases | Initiate a new release upload. This API is part of multi-step upload process. |
| POST | /v0.1/apps/{owner_name}/{app_name}/transfer_to_org | Transfers ownership of an app to a new organization |
| POST | /v0.1/apps/{owner_name}/{app_name}/transfer/{destination_owner_name} | Transfers ownership of an app to a different user or organization |
| DELETE | /v0.1/apps/{owner_name}/{app_name}/testers/{tester_id} | Delete the given tester from the all releases |
| 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. |
| GET | /v0.1/apps/{owner_name}/{app_name}/teams | Returns the details of all teams that have access to the app. |
| GET | /v0.1/apps/{owner_name}/{app_name}/symbols/{symbol_id}/status | Returns a particular symbol by id (uuid) for the provided application |
| GET | /v0.1/apps/{owner_name}/{app_name}/symbols/{symbol_id}/location | Gets the URL to download the symbol |
| POST | /v0.1/apps/{owner_name}/{app_name}/symbols/{symbol_id}/ignore | Marks a symbol by id (uuid) as ignored |
| GET | /v0.1/apps/{owner_name}/{app_name}/symbols/{symbol_id} | Returns a particular symbol by id (uuid) for the provided application |
| GET | /v0.1/apps/{owner_name}/{app_name}/symbols | Returns the list of all symbols for the provided application |
| GET | /v0.1/apps/{owner_name}/{app_name}/symbol_uploads/{symbol_upload_id}/location | Gets the URL to download the symbol upload |
| GET | /v0.1/apps/{owner_name}/{app_name}/symbol_uploads/{symbol_upload_id} | Gets a symbol upload by id for the specified application |
| 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 |
| DELETE | /v0.1/apps/{owner_name}/{app_name}/symbol_uploads/{symbol_upload_id} | Deletes a symbol upload by id for the specified application |
| GET | /v0.1/apps/{owner_name}/{app_name}/symbol_uploads | Get

… (truncated)
Scan or optimize your own skill →

Want a live grade + an embeddable README badge? Run your skill through the free scanner.

Graded independently by Skillproof — nothing to sell the author. Quality is mechanical + corpus-grounded; safety flags are heuristic (builtin+triage), not a malicious verdict.