openapi: 3.1.0 info: termsOfService: https://www.eclipse.org/legal/termsofuse.php license: name: Eclipse Public License 2.0 url: https://www.eclipse.org/legal/epl-2.0/ version: '0.1' servers: - url: https://open-vsx.org description: Generated server url paths: /admin/ratelimit/tiers/{name}: put: tags: - rate-limit-api operationId: updateTier parameters: - name: name in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/TierJson' required: true responses: '200': description: OK headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: $ref: '#/components/schemas/TierJson' '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 delete: tags: - rate-limit-api operationId: deleteTier parameters: - name: name in: path required: true schema: type: string responses: '200': description: OK headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: oneOf: - $ref: '#/components/schemas/Result' - $ref: '#/components/schemas/Extension' - $ref: '#/components/schemas/Namespace' - $ref: '#/components/schemas/NamespaceMembershipList' - $ref: '#/components/schemas/QueryResult' - $ref: '#/components/schemas/ReviewList' - $ref: '#/components/schemas/SearchResult' - $ref: '#/components/schemas/User' '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 /admin/ratelimit/customers/{name}: get: tags: - rate-limit-api operationId: getCustomer parameters: - name: name in: path required: true schema: type: string responses: '200': description: OK headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: $ref: '#/components/schemas/CustomerJson' '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 put: tags: - rate-limit-api operationId: updateCustomer parameters: - name: name in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/CustomerJson' required: true responses: '200': description: OK headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: $ref: '#/components/schemas/CustomerJson' '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 delete: tags: - rate-limit-api operationId: deleteCustomer parameters: - name: name in: path required: true schema: type: string responses: '200': description: OK headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: oneOf: - $ref: '#/components/schemas/Result' - $ref: '#/components/schemas/Extension' - $ref: '#/components/schemas/Namespace' - $ref: '#/components/schemas/NamespaceMembershipList' - $ref: '#/components/schemas/QueryResult' - $ref: '#/components/schemas/ReviewList' - $ref: '#/components/schemas/SearchResult' - $ref: '#/components/schemas/User' '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 /vscode/gallery/extensionquery: get: tags: - vs-code-api summary: Provides metadata of extensions matching the given parameters operationId: extensionQueryAsGet parameters: - name: q in: query required: true schema: type: string responses: '200': description: Returns the query results headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: $ref: '#/components/schemas/ExtensionQueryResult' '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 post: tags: - vs-code-api summary: Provides metadata of extensions matching the given parameters operationId: extensionQuery requestBody: content: application/json: schema: $ref: '#/components/schemas/ExtensionQueryParam' required: true responses: '200': description: Returns the query results headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: $ref: '#/components/schemas/ExtensionQueryResult' '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 /user/token/delete/{id}: post: tags: - user-api operationId: deleteAccessToken parameters: - name: id in: path required: true schema: type: integer format: int64 responses: '200': description: OK headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: oneOf: - $ref: '#/components/schemas/Result' - $ref: '#/components/schemas/Extension' - $ref: '#/components/schemas/Namespace' - $ref: '#/components/schemas/NamespaceMembershipList' - $ref: '#/components/schemas/QueryResult' - $ref: '#/components/schemas/ReviewList' - $ref: '#/components/schemas/SearchResult' - $ref: '#/components/schemas/User' '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 /user/token/create: post: tags: - user-api operationId: createAccessToken parameters: - name: description in: query required: false schema: type: string responses: '200': description: OK headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: $ref: '#/components/schemas/AccessTokenJson' '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 /user/publisher-agreement: post: tags: - user-api operationId: signPublisherAgreement responses: '200': description: OK headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: $ref: '#/components/schemas/User' '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 /user/namespace/{namespace}/role: post: tags: - user-api operationId: setNamespaceMember parameters: - name: namespace in: path required: true schema: type: string - name: user in: query required: true schema: type: string - name: role in: query required: true schema: type: string - name: provider in: query required: false schema: type: string responses: '200': description: OK headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: oneOf: - $ref: '#/components/schemas/Result' - $ref: '#/components/schemas/Extension' - $ref: '#/components/schemas/Namespace' - $ref: '#/components/schemas/NamespaceMembershipList' - $ref: '#/components/schemas/QueryResult' - $ref: '#/components/schemas/ReviewList' - $ref: '#/components/schemas/SearchResult' - $ref: '#/components/schemas/User' '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 /user/namespace/{namespace}/details: post: tags: - user-api operationId: updateNamespaceDetails requestBody: content: application/json: schema: $ref: '#/components/schemas/NamespaceDetails' required: true responses: '200': description: OK headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: oneOf: - $ref: '#/components/schemas/Result' - $ref: '#/components/schemas/Extension' - $ref: '#/components/schemas/Namespace' - $ref: '#/components/schemas/NamespaceMembershipList' - $ref: '#/components/schemas/QueryResult' - $ref: '#/components/schemas/ReviewList' - $ref: '#/components/schemas/SearchResult' - $ref: '#/components/schemas/User' '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 /user/namespace/{namespace}/details/logo: post: tags: - user-api operationId: updateNamespaceDetailsLogo parameters: - name: namespace in: path required: true schema: type: string requestBody: content: multipart/form-data: schema: type: object properties: file: type: string format: binary required: - file responses: '200': description: OK headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: oneOf: - $ref: '#/components/schemas/Result' - $ref: '#/components/schemas/Extension' - $ref: '#/components/schemas/Namespace' - $ref: '#/components/schemas/NamespaceMembershipList' - $ref: '#/components/schemas/QueryResult' - $ref: '#/components/schemas/ReviewList' - $ref: '#/components/schemas/SearchResult' - $ref: '#/components/schemas/User' '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 /user/extension/{namespaceName}/{extensionName}/delete: post: tags: - user-api operationId: deleteExtension parameters: - name: namespaceName in: path required: true schema: type: string - name: extensionName in: path required: true schema: type: string requestBody: content: application/json: schema: type: array items: $ref: '#/components/schemas/TargetPlatformVersion' required: true responses: '200': description: OK headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: oneOf: - $ref: '#/components/schemas/Result' - $ref: '#/components/schemas/Extension' - $ref: '#/components/schemas/Namespace' - $ref: '#/components/schemas/NamespaceMembershipList' - $ref: '#/components/schemas/QueryResult' - $ref: '#/components/schemas/ReviewList' - $ref: '#/components/schemas/SearchResult' - $ref: '#/components/schemas/User' '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 /api/user/publish: post: tags: - registry-api summary: Publish an extension by uploading a vsix file operationId: publish requestBody: description: Uploaded vsix file to publish content: application/octet-stream: schema: type: string format: binary required: true responses: '201': description: Successfully published the extension headers: X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Location: description: The URL of the extension metadata style: simple schema: type: string content: application/json: schema: $ref: '#/components/schemas/Extension' '400': description: The extension could not be published headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: example: error: 'Unknown publisher: foobar' '403': description: User is not logged in, has no publishing permission in the namespace, or has not signed a Publisher Agreement headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: $ref: '#/components/schemas/Extension' '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 /api/user/namespace/create: post: tags: - registry-api summary: Create a namespace operationId: createNamespace requestBody: description: Describes the namespace to create content: application/json: schema: $ref: '#/components/schemas/Namespace' required: true responses: '201': description: Successfully created the namespace headers: X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Location: description: The URL of the namespace metadata style: simple schema: type: string content: application/json: schema: $ref: '#/components/schemas/Result' example: success: Created namespace foobar '400': description: The namespace could not be created headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: $ref: '#/components/schemas/Result' example: error: Invalid access token. '403': description: User is not logged in headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: $ref: '#/components/schemas/Result' '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 /api/-/query: get: tags: - registry-api summary: Provides metadata of extensions matching the given parameters operationId: getQuery parameters: - name: namespaceName in: query description: Name of a namespace required: false schema: type: string example: foo - name: extensionName in: query description: Name of an extension required: false schema: type: string example: bar - name: extensionVersion in: query description: Version of an extension required: false schema: type: string example: 1 - name: extensionId in: query description: Identifier in the format {namespace}.{extension} required: false schema: type: string example: foo.bar - name: extensionUuid in: query description: Universally unique identifier of an extension required: false schema: type: string example: 5678 - name: namespaceUuid in: query description: Universally unique identifier of a namespace required: false schema: type: string example: 1234 - name: includeAllVersions in: query description: Whether to include all versions of an extension, ignored if extensionVersion is specified required: false schema: type: boolean default: false - name: targetPlatform in: query description: Target platform required: false schema: type: string enum: - win32-x64 - win32-ia32 - win32-arm64 - linux-x64 - linux-arm64 - linux-armhf - alpine-x64 - alpine-arm64 - darwin-x64 - darwin-arm64 - web - universal example: linux-x64 - name: size in: query description: Maximal number of entries to return required: false schema: type: integer default: 100 maximum: 1000 minimum: 0 - name: offset in: query description: Number of entries to skip (usually a multiple of the page size) required: false schema: type: integer default: 0 minimum: 0 responses: '200': description: Returns the (possibly empty) query results headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: $ref: '#/components/schemas/QueryResult' '400': description: The request contains an invalid parameter value headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: example: error: The 'extensionId' parameter must have the format 'namespace.extension'. '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 post: tags: - registry-api summary: 'Provides metadata of extensions matching the given parameters. Deprecated: use GET /api/-/query instead.' operationId: postQuery requestBody: content: application/json: schema: $ref: '#/components/schemas/QueryParam' required: true responses: '301': description: Returns redirect to GET /api/-/query. headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: $ref: '#/components/schemas/QueryResult' '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 deprecated: true /api/-/publish: post: tags: - registry-api summary: Publish an extension by uploading a vsix file operationId: publish_1 parameters: - name: token in: query description: A personal access token required: true schema: type: string requestBody: description: Uploaded vsix file to publish content: application/octet-stream: schema: type: string format: binary required: true responses: '201': description: Successfully published the extension headers: X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Location: description: The URL of the extension metadata style: simple schema: type: string content: application/json: schema: $ref: '#/components/schemas/Extension' '400': description: The extension could not be published headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: example: error: 'Unknown publisher: foobar' '401': description: The token is missing, invalid or expired headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: example: error: Invalid access token. '403': description: The token is valid but has no publishing permission in the namespace, or the user has not signed a Publisher Agreement headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: $ref: '#/components/schemas/Result' '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 /api/-/namespace/create: post: tags: - registry-api summary: Create a namespace operationId: createNamespace_1 parameters: - name: token in: query description: A personal access token required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/Namespace' required: true responses: '201': description: Successfully created the namespace headers: X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Location: description: The URL of the namespace metadata style: simple schema: type: string content: application/json: schema: $ref: '#/components/schemas/Result' example: success: Created namespace foobar '400': description: The namespace could not be created headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: $ref: '#/components/schemas/Result' example: error: Invalid access token. '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 /admin/scans/{scanId}/jobs/retry: post: tags: - scan-api summary: Retry all failed scanner jobs for a scan operationId: retryFailedScannerJobs parameters: - name: scanId in: path description: Scan ID required: true schema: type: integer format: int64 example: 123 responses: '200': description: Failed jobs re-queued; returns the updated scan in SCANNING state headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: $ref: '#/components/schemas/ScanResult' '400': description: Scan is not terminal or has no failed jobs to retry headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 '404': description: Scan or scanner jobs were not found headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 '403': description: Administration role is required headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 /admin/scans/files/decisions: post: tags: - file-decision-api summary: Create or update file decisions operationId: makeFileDecisions requestBody: content: application/json: schema: $ref: '#/components/schemas/FileDecisionRequest' required: true responses: '200': description: Decisions processed successfully headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: $ref: '#/components/schemas/FileDecisionResponse' '400': description: Invalid request headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 '403': description: Administration role is required headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 delete: tags: - file-decision-api summary: Remove file decisions operationId: deleteFileDecisions requestBody: content: application/json: schema: $ref: '#/components/schemas/FileDecisionDeleteRequest' required: true responses: '200': description: Deletions processed successfully headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: $ref: '#/components/schemas/FileDecisionDeleteResponse' '400': description: Invalid request headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 '403': description: Administration role is required headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 /admin/scans/decisions: post: tags: - scan-api summary: Make security decisions for quarantined scans operationId: makeScanDecisions requestBody: content: application/json: schema: $ref: '#/components/schemas/ScanDecisionRequest' required: true responses: '200': description: Decisions processed successfully headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: $ref: '#/components/schemas/ScanDecisionResponse' '400': description: Invalid request or scan not in quarantined status headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 '403': description: Administration role is required headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 /admin/ratelimit/tiers/create: post: tags: - rate-limit-api operationId: createTier requestBody: content: application/json: schema: $ref: '#/components/schemas/TierJson' required: true responses: '200': description: OK headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: $ref: '#/components/schemas/TierJson' '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 /admin/ratelimit/customers/{name}/tokens: get: tags: - rate-limit-api operationId: getRateLimitTokens parameters: - name: name in: path required: true schema: type: string responses: '200': description: OK headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: type: array items: $ref: '#/components/schemas/RateLimitTokenJson' '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 post: tags: - rate-limit-api operationId: createRateLimitToken parameters: - name: name in: path required: true schema: type: string - name: description in: query required: false schema: type: string responses: '200': description: OK headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: $ref: '#/components/schemas/RateLimitTokenJson' '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 /admin/ratelimit/customers/{name}/remove-member: post: tags: - rate-limit-api operationId: removeCustomerMember parameters: - name: name in: path required: true schema: type: string - name: user in: query required: true schema: type: string - name: provider in: query required: false schema: type: string responses: '200': description: OK headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: oneOf: - $ref: '#/components/schemas/Result' - $ref: '#/components/schemas/Extension' - $ref: '#/components/schemas/Namespace' - $ref: '#/components/schemas/NamespaceMembershipList' - $ref: '#/components/schemas/QueryResult' - $ref: '#/components/schemas/ReviewList' - $ref: '#/components/schemas/SearchResult' - $ref: '#/components/schemas/User' '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 /admin/ratelimit/customers/{name}/add-member: post: tags: - rate-limit-api operationId: addCustomerMember parameters: - name: name in: path required: true schema: type: string - name: user in: query required: true schema: type: string - name: provider in: query required: false schema: type: string responses: '200': description: OK headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: oneOf: - $ref: '#/components/schemas/Result' - $ref: '#/components/schemas/Extension' - $ref: '#/components/schemas/Namespace' - $ref: '#/components/schemas/NamespaceMembershipList' - $ref: '#/components/schemas/QueryResult' - $ref: '#/components/schemas/ReviewList' - $ref: '#/components/schemas/SearchResult' - $ref: '#/components/schemas/User' '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 /admin/ratelimit/customers/create: post: tags: - rate-limit-api operationId: createCustomer requestBody: content: application/json: schema: $ref: '#/components/schemas/CustomerJson' required: true responses: '200': description: OK headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: $ref: '#/components/schemas/CustomerJson' '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 /admin/publisher/{provider}/{authId}/delete: post: tags: - admin-api operationId: forgetUser parameters: - name: provider in: path required: true schema: type: string - name: authId in: path required: true schema: type: string responses: '403': description: Administration role is required headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 /admin/api/publisher/{provider}/{username}/delete: post: tags: - admin-api summary: Forget a user in response to a data-protection erasure request operationId: forgetUser_1 parameters: - name: provider in: path description: Authentication provider required: true schema: type: string example: github - name: username in: path description: Provider-specific username required: true schema: type: string - name: token in: query description: A personal access token required: true schema: type: string responses: '200': description: A success message is returned in JSON format headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: $ref: '#/components/schemas/Result' '403': description: Administration role is required headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 '404': description: User not found headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 /admin/api/publisher/bulk-revoke: post: tags: - admin-api summary: Bulk revoke publisher contributions operationId: revokeBulkPublishers parameters: - name: token in: query description: A personal access token required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/BulkPublisherRevokeRequest' required: true responses: '200': description: A success message is returned in JSON format headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: $ref: '#/components/schemas/BulkPublisherRevokeResponse' '400': description: An error message is returned in JSON format headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: $ref: '#/components/schemas/Result' '403': description: Administration role is required headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 /admin/api/namespace/{namespaceName}/change-member: post: tags: - admin-api summary: Edit a member of a namespace operationId: editNamespaceMember parameters: - name: namespaceName in: path description: Namespace name required: true schema: type: string example: BeardedBear - name: user in: query description: User name required: true schema: type: string - name: provider in: query description: Login provider name required: false schema: type: string example: github - name: role in: query description: The role to assign to the user or remove the user from the namespace required: true schema: type: string enum: - contributor - owner - remove - name: token in: query description: A personal access token required: true schema: type: string responses: '200': description: A success message is returned in JSON format headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: $ref: '#/components/schemas/Result' '400': description: An error message is returned in JSON format headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: $ref: '#/components/schemas/Result' '403': description: Administration role is required headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 /admin/api/extension/{namespaceName}/{extensionName}/purge: post: tags: - admin-api summary: Permanently purge an extension or one or multiple extension versions description: Unlike delete, this physically removes the versions from the database and storage, freeing their identities for republishing. Extension versions are otherwise immutable. operationId: purgeExtension parameters: - name: namespaceName in: path description: Namespace name required: true schema: type: string example: julialang - name: extensionName in: path description: Extension name required: true schema: type: string example: language-julia - name: token in: query description: A personal access token required: true schema: type: string requestBody: content: application/json: schema: type: array items: $ref: '#/components/schemas/TargetPlatformVersion' responses: '200': description: A success message is returned in JSON format headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: $ref: '#/components/schemas/Result' '400': description: An error message is returned in JSON format headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: $ref: '#/components/schemas/Result' '404': description: Extension not found headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 '403': description: Administration role is required headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 /admin/api/extension/{namespaceName}/{extensionName}/delete: post: tags: - admin-api summary: Delete an extension or one or multiple extension versions operationId: deleteExtension_1 parameters: - name: namespaceName in: path description: Namespace name required: true schema: type: string example: julialang - name: extensionName in: path description: Extension name required: true schema: type: string example: language-julia - name: token in: query description: A personal access token required: true schema: type: string requestBody: content: application/json: schema: type: array items: $ref: '#/components/schemas/TargetPlatformVersion' responses: '200': description: A success message is returned in JSON format headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: $ref: '#/components/schemas/Result' '400': description: An error message is returned in JSON format headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: $ref: '#/components/schemas/Result' '404': description: Extension not found headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 '403': description: Administration role is required headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 /vscode/unpkg/{namespaceName}/{extensionName}/{version}/**: get: tags: - vs-code-api summary: Browse an extension package operationId: browse parameters: - name: namespaceName in: path description: Extension namespace required: true schema: type: string example: malloydata - name: extensionName in: path description: Extension name required: true schema: type: string example: malloy-vscode - name: version in: path description: Extension version required: true schema: type: string example: 0.3.1710435722 responses: '200': description: The file content is returned in binary format or a list of file URLs is returned in JSON format in case the path is a directory headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: example: - https://open-vsx.org/vscode/unpkg/redhat/java/0.65.0/extension - https://open-vsx.org/vscode/unpkg/redhat/java/0.65.0/extension.vsixmanifest application/octet-stream: {} '302': description: The file is found at the specified location headers: X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Location: description: The actual URL where the file can be accessed style: simple schema: type: string '400': description: The namespace name is the built-in extension namespace headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 '404': description: The specified file or directory could not be found headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 /vscode/item: get: tags: - vs-code-api summary: Access an extension item operationId: getItemUrl parameters: - name: itemName in: query description: Identifier in the format {publisher}.{name} required: true schema: type: string example: foo.bar responses: '302': description: The item is found at the specified location headers: X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Location: description: The actual URL where the item can be accessed style: simple schema: type: string '400': description: The itemName could not be parsed to publisher and extension name headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 '404': description: The specified item could not be found headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 /vscode/gallery/{namespaceName}/{extensionName}/latest: get: tags: - vs-code-api summary: Provides metadata of the extension matching the given parameters operationId: getLatest parameters: - name: namespaceName in: path description: Extension namespace required: true schema: type: string example: malloydata - name: extensionName in: path description: Extension name required: true schema: type: string example: malloy-vscode responses: '200': description: Returns the extension metadata headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: $ref: '#/components/schemas/Extension' '404': description: The specified extension could not be found headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 /vscode/gallery/publishers/{namespaceName}/vsextensions/{extensionName}/{version}/vspackage: get: tags: - vs-code-api summary: Access an extension package operationId: download parameters: - name: namespaceName in: path description: Extension namespace required: true schema: type: string example: JFrog - name: extensionName in: path description: Extension name required: true schema: type: string example: jfrog-vscode-extension - name: version in: path description: Extension version required: true schema: type: string example: 2.11.7 - name: targetPlatform in: query description: Target platform required: false schema: type: string enum: - win32-x64 - win32-ia32 - win32-arm64 - linux-x64 - linux-arm64 - linux-armhf - alpine-x64 - alpine-arm64 - darwin-x64 - darwin-arm64 - web - universal example: linux-x64 responses: '302': description: The package is found at the specified location headers: X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Location: description: The actual URL where the package can be downloaded style: simple schema: type: string '400': description: The namespace name is the built-in extension namespace headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 '404': description: The specified package could not be found headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 /vscode/asset/{namespaceName}/{extensionName}/{version}/{assetType}/**: get: tags: - vs-code-api summary: Access an extension asset operationId: getAsset parameters: - name: namespaceName in: path description: Extension namespace required: true schema: type: string example: vitest - name: extensionName in: path description: Extension name required: true schema: type: string example: explorer - name: version in: path description: Extension version required: true schema: type: string example: 1.6.6 - name: assetType in: path description: Asset type required: true schema: type: string enum: - Microsoft.VisualStudio.Services.Icons.Default - Microsoft.VisualStudio.Services.Content.Details - Microsoft.VisualStudio.Services.Content.Changelog - Microsoft.VisualStudio.Code.Manifest - Microsoft.VisualStudio.Services.VSIXPackage - Microsoft.VisualStudio.Services.Content.License - Microsoft.VisualStudio.Code.WebResources - Microsoft.VisualStudio.Services.VsixManifest - Microsoft.VisualStudio.Services.VsixSignature - Microsoft.VisualStudio.Services.PublicKey example: Microsoft.VisualStudio.Services.VSIXPackage - name: targetPlatform in: query description: Target platform required: false schema: type: string enum: - win32-x64 - win32-ia32 - win32-arm64 - linux-x64 - linux-arm64 - linux-armhf - alpine-x64 - alpine-arm64 - darwin-x64 - darwin-arm64 - web - universal example: linux-x64 responses: '200': description: The file content is returned headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/octet-stream: {} '302': description: The asset is found at the specified location headers: X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Location: description: The actual URL where the asset can be accessed style: simple schema: type: string '400': description: The namespace name is the built-in extension namespace headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 '404': description: The specified asset could not be found headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 /user: get: tags: - user-api operationId: getUserData responses: '200': description: OK headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: $ref: '#/components/schemas/User' '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 /user/tokens: get: tags: - user-api operationId: getAccessTokens responses: '200': description: OK headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: type: array items: $ref: '#/components/schemas/AccessTokenJson' '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 /user/search/{name}: get: tags: - user-api operationId: getUsersStartWith parameters: - name: name in: path required: true schema: type: string responses: '200': description: OK headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: type: array items: $ref: '#/components/schemas/User' '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 /user/namespaces: get: tags: - user-api operationId: getOwnNamespaces responses: '200': description: OK headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: type: array items: $ref: '#/components/schemas/Namespace' '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 /user/namespace/{name}/members: get: tags: - user-api operationId: getNamespaceMembers parameters: - name: name in: path required: true schema: type: string responses: '200': description: OK headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: $ref: '#/components/schemas/NamespaceMembershipList' '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 /user/extensions: get: tags: - user-api operationId: getOwnExtensions responses: '200': description: OK headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: type: array items: $ref: '#/components/schemas/Extension' '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 /user/extension/{namespaceName}/{extensionName}: get: tags: - user-api operationId: getOwnExtension parameters: - name: namespaceName in: path required: true schema: type: string - name: extensionName in: path required: true schema: type: string responses: '200': description: OK headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: $ref: '#/components/schemas/Extension' '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 /user/customers: get: tags: - user-api operationId: getOwnCustomers responses: '200': description: OK headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: type: array items: $ref: '#/components/schemas/CustomerJson' '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 /user/customers/{name}/usage: get: tags: - user-api operationId: getOwnUsageStats parameters: - name: name in: path required: true schema: type: string - name: date in: query required: false schema: type: string responses: '200': description: OK headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: $ref: '#/components/schemas/UsageStatsListJson' '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 /user/csrf: get: tags: - user-api operationId: getCsrfToken responses: '200': description: OK headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: $ref: '#/components/schemas/CsrfTokenJson' '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 /user/auth-error: get: tags: - user-api operationId: getAuthError responses: '200': description: OK headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: $ref: '#/components/schemas/ErrorJson' '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 /sitemap.xml: get: tags: - sitemap-controller operationId: getSitemap responses: '200': description: OK headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/xml: schema: type: string '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 /login-providers: get: tags: - user-api operationId: login responses: '200': description: OK headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: '*/*': schema: $ref: '#/components/schemas/LoginProvidersJson' '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 /api/{namespace}: get: tags: - registry-api summary: Provides metadata of a namespace operationId: getNamespace parameters: - name: namespace in: path description: Namespace name required: true schema: type: string example: eamodio responses: '200': description: The namespace metadata are returned in JSON format headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: $ref: '#/components/schemas/Namespace' '404': description: The specified namespace could not be found headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 /api/{namespace}/{extension}: get: tags: - registry-api summary: Provides metadata of the latest version of an extension operationId: getExtension parameters: - name: namespace in: path description: Extension namespace required: true schema: type: string example: rust-lang - name: extension in: path description: Extension name required: true schema: type: string example: rust-analyzer responses: '200': description: The extension metadata are returned in JSON format headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: $ref: '#/components/schemas/Extension' '404': description: The specified extension could not be found headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 /api/{namespace}/{extension}/{version}: get: tags: - registry-api summary: Provides metadata of a specific version of an extension operationId: getExtension_1 parameters: - name: namespace in: path description: Extension namespace required: true schema: type: string example: TabNine - name: extension in: path description: Extension name required: true schema: type: string example: tabnine-vscode - name: version in: path description: Extension version required: true schema: type: string example: 3.172.0 responses: '200': description: The extension metadata are returned in JSON format headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: $ref: '#/components/schemas/Extension' '404': description: The specified extension could not be found headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 /api/{namespace}/{extension}/{version}/file/**: get: tags: - registry-api summary: Access a file packaged by an extension operationId: getFile parameters: - name: namespace in: path description: Extension namespace required: true schema: type: string example: astro-build - name: extension in: path description: Extension name required: true schema: type: string example: astro-vscode - name: version in: path description: Extension version required: true schema: type: string example: 2.15.4 responses: '200': description: The file content is returned headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: '*/*': schema: $ref: '#/components/schemas/StreamingResponseBody' '302': description: The file is found at the specified location headers: X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Location: description: The actual URL where the file can be accessed style: simple schema: type: string '404': description: The specified file could not be found headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 /api/{namespace}/{extension}/{targetPlatform}: get: tags: - registry-api summary: Provides metadata of the latest version of an extension operationId: getExtension_2 parameters: - name: namespace in: path description: Extension namespace required: true schema: type: string example: Dart-Code - name: extension in: path description: Extension name required: true schema: type: string example: flutter - name: targetPlatform in: path description: Target platform required: true schema: type: string enum: - win32-x64 - win32-ia32 - win32-arm64 - linux-x64 - linux-arm64 - linux-armhf - alpine-x64 - alpine-arm64 - darwin-x64 - darwin-arm64 - web - universal example: linux-arm64 responses: '200': description: The extension metadata are returned in JSON format headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: $ref: '#/components/schemas/Extension' '404': description: The specified extension could not be found headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 /api/{namespace}/{extension}/{targetPlatform}/{version}: get: tags: - registry-api summary: Provides metadata of a specific version of an extension operationId: getExtension_3 parameters: - name: namespace in: path description: Extension namespace required: true schema: type: string example: julialang - name: extension in: path description: Extension name required: true schema: type: string example: language-julia - name: targetPlatform in: path description: Target platform required: true schema: type: string enum: - win32-x64 - win32-ia32 - win32-arm64 - linux-x64 - linux-arm64 - linux-armhf - alpine-x64 - alpine-arm64 - darwin-x64 - darwin-arm64 - web - universal example: linux-arm64 - name: version in: path description: Extension version required: true schema: type: string example: 1.124.2 responses: '200': description: The extension metadata are returned in JSON format headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: $ref: '#/components/schemas/Extension' '404': description: The specified extension could not be found headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 /api/{namespace}/{extension}/{targetPlatform}/{version}/file/**: get: tags: - registry-api summary: Access a file packaged by an extension operationId: getFile_1 parameters: - name: namespace in: path description: Extension namespace required: true schema: type: string example: AdaCore - name: extension in: path description: Extension name required: true schema: type: string example: ada - name: targetPlatform in: path description: Target platform required: true schema: type: string enum: - win32-x64 - win32-ia32 - win32-arm64 - linux-x64 - linux-arm64 - linux-armhf - alpine-x64 - alpine-arm64 - darwin-x64 - darwin-arm64 - web - universal example: linux-arm64 - name: version in: path description: Extension version required: true schema: type: string example: 24.0.6 responses: '200': description: The file content is returned headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: '*/*': schema: $ref: '#/components/schemas/StreamingResponseBody' '302': description: The file is found at the specified location headers: X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Location: description: The actual URL where the file can be accessed style: simple schema: type: string '404': description: The specified file could not be found headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 /api/{namespace}/{extension}/{targetPlatform}/versions: get: tags: - registry-api summary: Provides a map of versions matching an extension operationId: getVersions parameters: - name: namespace in: path description: Extension namespace required: true schema: type: string example: stateful - name: extension in: path description: Extension name required: true schema: type: string example: runme - name: targetPlatform in: path description: Target platform required: true schema: type: string enum: - win32-x64 - win32-ia32 - win32-arm64 - linux-x64 - linux-arm64 - linux-armhf - alpine-x64 - alpine-arm64 - darwin-x64 - darwin-arm64 - web - universal example: linux-arm64 - name: size in: query description: Maximal number of entries to return required: false schema: type: integer default: 18 maximum: 100 minimum: 0 - name: offset in: query description: Number of entries to skip (usually a multiple of the page size) required: false schema: type: integer default: 0 minimum: 0 responses: '200': description: The extension versions are returned in JSON format headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: $ref: '#/components/schemas/Versions' '404': description: The specified extension could not be found headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 /api/{namespace}/{extension}/{targetPlatform}/version-references: get: tags: - registry-api summary: Provides a list of version references matching an extension operationId: getVersionReferences parameters: - name: namespace in: path description: Extension namespace required: true schema: type: string example: hashicorp - name: extension in: path description: Extension name required: true schema: type: string example: terraform - name: targetPlatform in: path description: Target platform required: true schema: type: string enum: - win32-x64 - win32-ia32 - win32-arm64 - linux-x64 - linux-arm64 - linux-armhf - alpine-x64 - alpine-arm64 - darwin-x64 - darwin-arm64 - web - universal example: linux-arm64 - name: size in: query description: Maximal number of entries to return required: false schema: type: integer default: 18 maximum: 100 minimum: 0 - name: offset in: query description: Number of entries to skip (usually a multiple of the page size) required: false schema: type: integer default: 0 minimum: 0 responses: '200': description: The extension version references are returned in JSON format headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: $ref: '#/components/schemas/VersionReferences' '404': description: The specified extension could not be found headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 /api/{namespace}/{extension}/versions: get: tags: - registry-api summary: Provides a map of versions matching an extension operationId: getVersions_1 parameters: - name: namespace in: path description: Extension namespace required: true schema: type: string example: vscodevim - name: extension in: path description: Extension name required: true schema: type: string example: vim - name: size in: query description: Maximal number of entries to return required: false schema: type: integer default: 18 maximum: 100 minimum: 0 - name: offset in: query description: Number of entries to skip (usually a multiple of the page size) required: false schema: type: integer default: 0 minimum: 0 responses: '200': description: The extension versions are returned in JSON format headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: $ref: '#/components/schemas/Versions' '404': description: The specified extension could not be found headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 /api/{namespace}/{extension}/version-references: get: tags: - registry-api summary: Provides a list of version references matching an extension operationId: getVersionReferences_1 parameters: - name: namespace in: path description: Extension namespace required: true schema: type: string example: svelte - name: extension in: path description: Extension name required: true schema: type: string example: svelte-vscode - name: size in: query description: Maximal number of entries to return required: false schema: type: integer default: 18 maximum: 100 minimum: 0 - name: offset in: query description: Number of entries to skip (usually a multiple of the page size) required: false schema: type: integer default: 0 minimum: 0 responses: '200': description: The extension version references are returned in JSON format headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: $ref: '#/components/schemas/VersionReferences' '404': description: The specified extension could not be found headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 /api/{namespace}/{extension}/reviews: get: tags: - registry-api summary: Returns the list of reviews of an extension operationId: getReviews parameters: - name: namespace in: path description: Extension namespace required: true schema: type: string example: Prisma - name: extension in: path description: Extension name required: true schema: type: string example: prisma responses: '200': description: The reviews are returned in JSON format headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: $ref: '#/components/schemas/ReviewList' '404': description: The specified extension could not be found headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 /api/{namespace}/verify-pat: get: tags: - registry-api summary: Check if a personal access token is valid and is allowed to publish in a namespace operationId: verifyToken parameters: - name: namespace in: path description: Namespace required: true schema: type: string example: GitLab - name: token in: query description: A personal access token required: true schema: type: string responses: '200': description: The provided PAT is valid and is allowed to publish extensions in the namespace headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: $ref: '#/components/schemas/Result' '401': description: The token is missing, invalid or expired headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: $ref: '#/components/schemas/Result' '403': description: The token is valid but has no publishing permission in the namespace headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: $ref: '#/components/schemas/Result' '404': description: The specified namespace could not be found headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: $ref: '#/components/schemas/Result' '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 /api/{namespace}/logo/{fileName}: get: tags: - registry-api summary: Provides logo of a namespace operationId: getNamespaceLogo parameters: - name: namespace in: path description: Namespace name required: true schema: type: string example: Codeium - name: fileName in: path description: Logo file name required: true schema: type: string example: logo-codeium.png responses: '200': description: The namespace details are returned in JSON format headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: image/jpeg: schema: $ref: '#/components/schemas/StreamingResponseBody' image/png: schema: $ref: '#/components/schemas/StreamingResponseBody' '404': description: The specified namespace could not be found headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: image/jpeg: schema: $ref: '#/components/schemas/StreamingResponseBody' image/png: schema: $ref: '#/components/schemas/StreamingResponseBody' '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 /api/{namespace}/details: get: tags: - registry-api operationId: getNamespaceDetails parameters: - name: namespace in: path description: Namespace name required: true schema: type: string example: devsense responses: '200': description: The namespace details are returned in JSON format headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: $ref: '#/components/schemas/NamespaceDetails' '404': description: The specified namespace could not be found headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 /api/version: get: tags: - registry-api summary: Return the registry version operationId: getRegistryVersion responses: '200': description: The registry version is returned in JSON format headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: $ref: '#/components/schemas/RegistryVersion' '404': description: The registry version could not be determined headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: $ref: '#/components/schemas/RegistryVersion' '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 /api/v2/-/query: get: tags: - registry-api summary: Provides metadata of extensions matching the given parameters operationId: getQueryV2 parameters: - name: namespaceName in: query description: Name of a namespace required: false schema: type: string example: foo - name: extensionName in: query description: Name of an extension required: false schema: type: string example: bar - name: extensionVersion in: query description: Version of an extension required: false schema: type: string example: 1 - name: extensionId in: query description: Identifier in the format {namespace}.{extension} required: false schema: type: string example: foo.bar - name: extensionUuid in: query description: Universally unique identifier of an extension required: false schema: type: string example: 5678 - name: namespaceUuid in: query description: Universally unique identifier of a namespace required: false schema: type: string example: 1234 - name: includeAllVersions in: query description: Whether to include all versions of an extension required: false schema: type: string default: links enum: - 'true' - 'false' - links - name: targetPlatform in: query description: Target platform required: false schema: type: string enum: - win32-x64 - win32-ia32 - win32-arm64 - linux-x64 - linux-arm64 - linux-armhf - alpine-x64 - alpine-arm64 - darwin-x64 - darwin-arm64 - web - universal example: linux-x64 - name: size in: query description: Maximal number of entries to return required: false schema: type: integer default: 100 maximum: 1000 minimum: 0 - name: offset in: query description: Number of entries to skip (usually a multiple of the page size) required: false schema: type: integer default: 0 minimum: 0 responses: '200': description: Returns the (possibly empty) query results headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: $ref: '#/components/schemas/QueryResult' '400': description: The request contains an invalid parameter value headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: $ref: '#/components/schemas/QueryResult' '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 /api/-/version-changes: get: tags: - registry-api summary: '[Preview] Provides a paginated feed of the publicly visible transitions of extension versions' description: | **Preview** -- this endpoint may still change in a later release. Its parameters and the shape of its response are not covered by the usual compatibility expectations yet, so keep track of what you depend on and follow the release notes. Each entry reports one transition of a single extension version, ordered by the instant it happened, oldest first. A version that transitions repeatedly is reported once per transition rather than as a single entry that moves around, so that nothing is missed between two requests. ### Reported states - **`ACTIVE`** -- the version is publicly available. - **`INACTIVE`** -- the version is not publicly available. Its files are still there and it can become `ACTIVE` again. - **`REMOVED`** -- the version is no longer available for download. Reported both for a version that was deleted and for one that was permanently purged, as either way the version is gone. ### Transitions | From | To | Reported when | | --- | --- | --- | | _not in the feed_ | `ACTIVE` | the version was published and became publicly available | | `ACTIVE` | `INACTIVE` | the version was deactivated administratively, for instance because the publisher's contributions were revoked or their publisher agreement is no longer signed | | `INACTIVE` | `ACTIVE` | the version was reinstated and is publicly available again | | `ACTIVE`, `INACTIVE` | `REMOVED` | the version was deleted or purged | | `REMOVED` | `ACTIVE` | the version had been purged, freeing its identity, and the same version was published again | A deleted version keeps its identity permanently reserved as a tombstone and can never be published again, so `REMOVED` is the last entry it ever gets. An administrator can purge it instead, which drops that tombstone and frees the identity: the same namespace, extension, version and target platform can then be published again and continue in the feed with a fresh `ACTIVE` entry. `REMOVED` is therefore the current state of the coordinates an entry names, not a guarantee that they will never come back. Two consecutive entries for the same version never report the same state. The instant a version became publicly available can be much later than the `timestamp` it was published at, for instance when activation waited on a scan. ### Following the registry Every response carries a `nextCursor`, the position of its last entry. Pass it back as `after` and the next response continues exactly where the previous one ended: 1. Request the feed, leaving `after` out on the very first request. 2. Process the entries in order. 3. Store `nextCursor` and pass it as `after` on the next request. 4. While `hasMore` is `true` there are further entries waiting, so request the next page straight away rather than waiting for the next poll. The same loop serves a first full synchronisation, an hourly poll and a catch-up after days of downtime, and it neither repeats nor skips an entry in any of them. Storing `nextCursor` only after the entries have been processed means a consumer that dies mid-page reprocesses that page rather than losing it. A cursor is an opaque position in the feed, not a timestamp: it also identifies which of the transitions sharing an instant have been processed, which a timestamp cannot. Do not construct or parse one, and do not follow the feed by passing an entry's `lastUpdated` as `since` -- `since` is inclusive, so it reports the entries sharing that instant again, and no exclusive variant of it could avoid that without skipping entries instead. ### Notes - `since` and `until` bound the range a request is interested in and are meant for one-off queries. Combining `since` with `after` is rejected, as the two disagree about where the response starts; `until` combines with `after` to catch up to a fixed end. - Entries are only ever appended and are never updated or reordered, so a cursor stays valid indefinitely. - The feed stops short of the present by a small margin, so a transition is reported a little after it happened rather than instantly. This is what lets a consumer that has caught up be sure it has missed nothing: an entry is only reported once the transaction recording it is certain to have committed. Requesting an `until` closer to the present than that reports nothing beyond the margin rather than skipping those entries -- they turn up on a later request. - Only changes in availability are reported. Editing the metadata of a version, such as its readme or its tags, is not a transition and produces no entry. - Responses may be cached for up to one minute. Polling faster than that gains a consumer nothing. operationId: getChanges parameters: - name: after in: query description: Continue after this position in the feed, as reported by the 'nextCursor' of a previous response. Cannot be combined with 'since'. required: false schema: type: string example: MjAyNi0wMS0xNFQwOTozMDoxMV8xMjM0 - name: since in: query description: Only include entries at or after this date and time (ISO-8601). Meant for one-off queries; use 'after' to follow the feed. required: false schema: type: string example: '2026-01-01T00:00:00Z' - name: until in: query description: Only include entries before this date and time, exclusive (ISO-8601) required: false schema: type: string example: '2026-02-01T00:00:00Z' - name: size in: query description: Maximal number of entries to return required: false schema: type: integer default: 100 maximum: 1000 minimum: 1 responses: '200': description: The changes are returned in JSON format headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: example: changes: - namespace: redhat name: java version: 1.30.0 targetPlatform: universal state: ACTIVE timestamp: '2026-01-14T09:12:33Z' lastUpdated: '2026-01-14T09:12:33Z' url: https://open-vsx.org/api/redhat/java/universal/1.30.0 - namespace: redhat name: java version: 1.29.0 targetPlatform: universal state: REMOVED timestamp: '2025-11-02T16:40:05Z' lastUpdated: '2026-01-14T09:30:11Z' url: https://open-vsx.org/api/redhat/java/universal/1.29.0 nextCursor: MjAyNi0wMS0xNFQwOTozMDoxMV8xMjM0 hasMore: false '400': description: The request contains an invalid parameter value headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: example: error: 'Invalid ''since'' parameter: yesterday' '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 x-preview: true /api/-/search: get: tags: - registry-api summary: Search extensions via text entered by a user operationId: search parameters: - name: query in: query description: Query text for searching required: false schema: type: string example: javascript - name: category in: query description: Extension category as shown in the UI required: false schema: type: string example: Programming Languages - name: targetPlatform in: query description: Target platform required: false schema: type: string enum: - win32-x64 - win32-ia32 - win32-arm64 - linux-x64 - linux-arm64 - linux-armhf - alpine-x64 - alpine-arm64 - darwin-x64 - darwin-arm64 - web - universal example: linux-arm64 - name: size in: query description: Maximal number of entries to return required: false schema: type: integer default: 18 maximum: 1000 minimum: 0 - name: offset in: query description: Number of entries to skip (usually a multiple of the page size) required: false schema: type: integer default: 0 minimum: 0 - name: sortOrder in: query description: Descending or ascending sort order required: false schema: type: string enum: - asc - desc - name: sortBy in: query description: Sort key (relevance is a weighted mix of various properties) required: false schema: type: string enum: - relevance - timestamp - rating - downloadCount - name: includeAllVersions in: query description: Whether to include information on all available versions for each returned entry required: false schema: type: boolean default: false responses: '200': description: The search results are returned in JSON format headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: $ref: '#/components/schemas/SearchResult' '400': description: The request contains an invalid parameter value headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: example: error: The parameter 'size' must not be negative. '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 /api/-/public-key/{publicId}: get: tags: - registry-api summary: Access a public key file operationId: getPublicKey parameters: - name: publicId in: path description: Public ID of a public key file required: true schema: type: string example: 92dea4de-80b5-4577-b27d-44cdcda82c63 responses: '200': description: The file content is returned headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: text/plain: schema: type: string '404': description: The specified public key file could not be found headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 /admin/scans: get: tags: - scan-api summary: Get all extension scans operationId: getAllScans parameters: - name: status in: query description: Filter by scan status (comma-separated for multiple values) required: false style: form explode: false schema: type: array items: type: string enum: - STARTED - VALIDATING - SCANNING - PASSED - QUARANTINED - AUTO REJECTED - ERROR example: QUARANTINED - name: publisher in: query description: Filter by publisher name (partial matches supported) required: false schema: type: string - name: namespace in: query description: Filter by namespace (partial matches supported) required: false schema: type: string - name: name in: query description: Filter by display name or extension name (partial matches supported) required: false schema: type: string - name: size in: query description: Maximal number of entries to return required: false schema: type: integer default: 10 maximum: 100 minimum: 0 - name: offset in: query description: Number of entries to skip required: false schema: type: integer default: 0 minimum: 0 - name: sortBy in: query description: Field to sort by required: false schema: type: string default: scanEndTime enum: - scanEndTime - scanStartTime - displayName - publisher - status - name: sortOrder in: query description: Sort order required: false schema: type: string default: desc enum: - asc - desc - name: dateStartedFrom in: query description: Filter scans started on or after this date (ISO 8601 format) required: false schema: type: string - name: dateStartedTo in: query description: Filter scans started on or before this date (ISO 8601 format) required: false schema: type: string - name: validationType in: query description: Filter by validation type (comma-separated for multiple values, e.g., NAME SQUATTING, BLOCKLIST, SECRET) required: false style: form explode: false schema: type: array items: type: string example: NAME SQUATTING - name: threatScannerName in: query description: Filter by threat scanner name (comma-separated for multiple values). required: false style: form explode: false schema: type: array items: type: string example: ClamAV - name: enforcement in: query description: Filter by enforcement status of threats/validations required: false schema: type: string default: all enum: - enforced - notEnforced - all - name: adminDecision in: query description: Filter by admin decision status (comma-separated for multiple values). Use 'allowed' for scans with Allowed decision, 'blocked' for Blocked decision, 'needs-review' for scans with no decision yet. required: false style: form explode: false schema: type: array items: type: string enum: - allowed - blocked - needs-review responses: '200': description: List of all scans headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: type: array items: $ref: '#/components/schemas/ScanResult' '403': description: Administration role is required headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 /admin/scans/{scanId}: get: tags: - scan-api summary: Get a specific scan by ID operationId: getScan parameters: - name: scanId in: path description: Scan ID required: true schema: type: integer format: int64 example: 123 responses: '200': description: Scan details headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: $ref: '#/components/schemas/ScanResult' '404': description: Scan not found headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 '403': description: Administration role is required headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 /admin/scans/filterOptions: get: tags: - scan-api summary: Get scan filter options operationId: getScanFilterOptions responses: '200': description: Lists of unique values usable for scan filtering headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: $ref: '#/components/schemas/ScanFilterOptions' '403': description: Administration role is required headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 /admin/scans/files: get: tags: - file-decision-api summary: Get files with admin decisions operationId: getFiles parameters: - name: decision in: query description: Filter by admin decision type required: false schema: type: string enum: - allowed - blocked - name: publisher in: query description: Filter by publisher name required: false schema: type: string - name: namespace in: query description: Filter by namespace required: false schema: type: string - name: name in: query description: Filter by display name, extension name, or file name required: false schema: type: string - name: size in: query description: Maximum number of entries to return required: false schema: type: integer default: 18 maximum: 100 minimum: 0 - name: offset in: query description: Number of entries to skip required: false schema: type: integer default: 0 minimum: 0 - name: sortBy in: query description: Field to sort by required: false schema: type: string default: dateDecided enum: - dateDecided - fileName - publisher - namespace - name: sortOrder in: query description: Sort order required: false schema: type: string default: desc enum: - asc - desc - name: dateDecidedFrom in: query description: Filter files decided on or after this date (ISO 8601 format) required: false schema: type: string - name: dateDecidedTo in: query description: Filter files decided on or before this date (ISO 8601 format) required: false schema: type: string responses: '200': description: List of file decisions headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: $ref: '#/components/schemas/FilesResponse' '403': description: Administration role is required headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 /admin/scans/files/{fileId}: get: tags: - file-decision-api summary: Get specific file decision operationId: getFileDecision parameters: - name: fileId in: path description: File decision ID required: true schema: type: integer format: int64 example: 123 responses: '200': description: File decision details headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: $ref: '#/components/schemas/FileDecision' '404': description: File decision not found headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 '403': description: Administration role is required headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 /admin/scans/files/counts: get: tags: - file-decision-api summary: Get file decision counts operationId: getFileDecisionCounts parameters: - name: dateDecidedFrom in: query description: Filter files decided on or after this date (ISO 8601 format) required: false schema: type: string - name: dateDecidedTo in: query description: Filter files decided on or before this date (ISO 8601 format) required: false schema: type: string responses: '200': description: File decision counts headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: $ref: '#/components/schemas/FileDecisionCounts' '403': description: Administration role is required headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 /admin/scans/counts: get: tags: - scan-api summary: Get scan counts operationId: getScanCounts parameters: - name: dateStartedFrom in: query description: Filter scans started on or after this date (ISO 8601 format) required: false schema: type: string - name: dateStartedTo in: query description: Filter scans started on or before this date (ISO 8601 format) required: false schema: type: string - name: enforcement in: query description: Filter by enforcement status of threats/validations required: false schema: type: string default: all enum: - enforced - notEnforced - all - name: validationType in: query description: Filter by validation type (comma-separated for multiple values, e.g., NAME SQUATTING, BLOCKLIST, SECRET) required: false style: form explode: false schema: type: array items: type: string example: NAME SQUATTING - name: threatScannerName in: query description: Filter by threat scanner name (comma-separated for multiple values). required: false style: form explode: false schema: type: array items: type: string example: ClamAV responses: '200': description: Scan counts by status and quarantine decision headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: $ref: '#/components/schemas/ScanStatistics' '403': description: Administration role is required headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 /admin/report: get: tags: - admin-api summary: Get the admin report for the given month and year operationId: getReportJson parameters: - name: token in: query description: A personal access token required: true schema: type: string - name: year in: query required: true schema: type: integer format: int32 - name: month in: query required: true schema: type: integer format: int32 responses: '200': description: The report is returned headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: $ref: '#/components/schemas/AdminStatisticsJson' text/csv: schema: type: string '400': description: An error message is returned in JSON format headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 '403': description: Administration role is required headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 /admin/ratelimit/tiers: get: tags: - rate-limit-api operationId: getTiers responses: '200': description: OK headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: $ref: '#/components/schemas/TierListJson' '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 /admin/ratelimit/tiers/{name}/customers: get: tags: - rate-limit-api operationId: getCustomersForTier parameters: - name: name in: path required: true schema: type: string responses: '200': description: OK headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: $ref: '#/components/schemas/CustomerListJson' '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 /admin/ratelimit/customers: get: tags: - rate-limit-api operationId: getCustomers responses: '200': description: OK headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: $ref: '#/components/schemas/CustomerListJson' '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 /admin/ratelimit/customers/{name}/usage: get: tags: - rate-limit-api operationId: getUsageStats parameters: - name: name in: path required: true schema: type: string - name: date in: query required: false schema: type: string responses: '200': description: OK headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: $ref: '#/components/schemas/UsageStatsListJson' '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 /admin/ratelimit/customers/{name}/members: get: tags: - rate-limit-api operationId: getCustomerMembers parameters: - name: name in: path required: true schema: type: string responses: '200': description: OK headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: $ref: '#/components/schemas/CustomerMembershipList' '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 /admin/api/namespace/{namespaceName}/members: get: tags: - admin-api summary: Get members for a namespace operationId: getNamespaceMembers_1 parameters: - name: namespaceName in: path description: Namespace name required: true schema: type: string example: mtxr - name: token in: query description: A personal access token required: true schema: type: string responses: '200': description: The namespace membership list is returned in JSON format headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: $ref: '#/components/schemas/NamespaceMembershipList' '400': description: An error message is returned in JSON format headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: $ref: '#/components/schemas/NamespaceMembershipList' '403': description: Administration role is required headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 /admin/ratelimit/customers/{name}/tokens/{id}: delete: tags: - rate-limit-api operationId: deactivateRateLimitToken parameters: - name: name in: path required: true schema: type: string - name: id in: path required: true schema: type: integer format: int64 responses: '200': description: OK headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 content: application/json: schema: oneOf: - $ref: '#/components/schemas/Result' - $ref: '#/components/schemas/Extension' - $ref: '#/components/schemas/Namespace' - $ref: '#/components/schemas/NamespaceMembershipList' - $ref: '#/components/schemas/QueryResult' - $ref: '#/components/schemas/ReviewList' - $ref: '#/components/schemas/SearchResult' - $ref: '#/components/schemas/User' '429': description: A client has sent too many requests in a given amount of time headers: X-RateLimit-Limit: description: Number of requests that can be made in a given amount of time schema: format: int32 Retry-After: description: Number of seconds to wait after receiving a 429 response schema: format: int32 X-RateLimit-Reset: description: Number of seconds until the rate limit tokens will be fully filled to its maximum schema: format: int32 X-RateLimit-Remaining: description: Remaining number of requests left in the current time window schema: format: int32 components: schemas: AccessTokenJson: type: object properties: success: type: string description: Indicates success of the operation (omitted if a more specific result type is returned) warning: type: string description: Indicates a warning; when this is present, other properties can still be used error: type: string description: Indicates an error; when this is present, all other properties should be ignored id: type: integer format: int64 value: type: string createdTimestamp: type: string accessedTimestamp: type: string expiresTimestamp: type: string notified: type: boolean description: type: string deleteTokenUrl: type: string AdminDecision: type: object description: Admin decision on a quarantined extension properties: decision: type: string description: Manual security decision for quarantined extension decidedBy: type: string description: Admin who made the decision dateDecided: type: string description: When the admin decision was made (UTC) AdminStatisticsJson: type: object properties: success: type: string description: Indicates success of the operation (omitted if a more specific result type is returned) warning: type: string description: Indicates a warning; when this is present, other properties can still be used error: type: string description: Indicates an error; when this is present, all other properties should be ignored year: type: integer format: int32 month: type: integer format: int32 extensions: type: integer format: int64 downloads: type: integer format: int64 downloadsTotal: type: integer format: int64 publishers: type: integer format: int64 averageReviewsPerExtension: type: number format: double namespaceOwners: type: integer format: int64 extensionsByRating: type: array items: $ref: '#/components/schemas/ExtensionsByRating' publishersByExtensionsPublished: type: array items: $ref: '#/components/schemas/PublishersByExtensionsPublished' topMostActivePublishingUsers: type: array items: $ref: '#/components/schemas/TopMostActivePublishingUsers' topNamespaceExtensions: type: array items: $ref: '#/components/schemas/TopNamespaceExtensions' topNamespaceExtensionVersions: type: array items: $ref: '#/components/schemas/TopNamespaceExtensionVersions' topMostDownloadedExtensions: type: array items: $ref: '#/components/schemas/TopMostDownloadedExtensions' Badge: type: object description: A badge to be shown in the sidebar of the extension page in the registry properties: url: type: string description: Image URL of the badge href: type: string description: The link users will follow when clicking the badge description: type: string BulkPublisherRevokeRequest: type: object description: List of publishers to revoke contributions for properties: publishers: type: array items: $ref: '#/components/schemas/PublisherRevocationTarget' reason: type: string BulkPublisherRevokeResponse: type: object description: List of responses for the bulk publisher revocation request properties: success: type: string description: Indicates success of the operation (omitted if a more specific result type is returned) warning: type: string description: Indicates a warning; when this is present, other properties can still be used error: type: string description: Indicates an error; when this is present, all other properties should be ignored responses: type: object additionalProperties: oneOf: - $ref: '#/components/schemas/Result' - $ref: '#/components/schemas/Extension' - $ref: '#/components/schemas/Namespace' - $ref: '#/components/schemas/NamespaceMembershipList' - $ref: '#/components/schemas/QueryResult' - $ref: '#/components/schemas/ReviewList' - $ref: '#/components/schemas/SearchResult' - $ref: '#/components/schemas/User' description: Results for each of the attempted revoke operations matched on the login name of the user CheckResult: type: object description: Result of a single check or scan execution properties: checkType: type: string description: Type of check category: type: string description: 'Category: PUBLISH_CHECK or SCANNER_JOB' result: type: string description: 'Result: PASSED, QUARANTINE, REJECT, or ERROR' startedAt: type: string description: When the check started (UTC) completedAt: type: string description: When the check completed (UTC) durationMs: type: integer format: int64 description: Duration of check in milliseconds filesScanned: type: integer format: int32 description: Number of files scanned (if applicable) findingsCount: type: integer format: int32 description: Number of findings/issues detected summary: type: string description: Brief summary of the result errorMessage: type: string description: Error message if check failed with error required: type: boolean description: Whether this check was required (errors block publishing). Null for scanner jobs. externalUrl: type: string description: Deep link to the external scanner's own dashboard for this job. Only populated for SCANNER_JOB rows whose scanner configures external-url-template. Criterion: type: object description: Filter criteria properties: filterType: type: integer format: int32 description: Filter type

values:
* 1 TAG
* 4 EXTENSION_ID
* 5 CATEGORY
* 7 EXTENSION_NAME
* 8 TARGET
* 9 FEATURED
* 10 SEARCH_TEXT
* 12 EXCLUDE_WITH_FLAGS enum: - '1' - '4' - '5' - '7' - '8' - '9' - '10' - '12' value: type: string description: Filter value CsrfTokenJson: type: object properties: success: type: string description: Indicates success of the operation (omitted if a more specific result type is returned) warning: type: string description: Indicates a warning; when this is present, other properties can still be used error: type: string description: Indicates an error; when this is present, all other properties should be ignored value: type: string header: type: string CustomerJson: type: object properties: success: type: string description: Indicates success of the operation (omitted if a more specific result type is returned) warning: type: string description: Indicates a warning; when this is present, other properties can still be used error: type: string description: Indicates an error; when this is present, all other properties should be ignored name: type: string tier: $ref: '#/components/schemas/TierJson' state: type: string cidrBlocks: type: array items: type: string required: - name - state CustomerListJson: type: object properties: customers: type: array items: $ref: '#/components/schemas/CustomerJson' CustomerMembershipJson: type: object properties: customer: type: string user: $ref: '#/components/schemas/User' CustomerMembershipList: type: object description: Metadata of a customer member list properties: success: type: string description: Indicates success of the operation (omitted if a more specific result type is returned) warning: type: string description: Indicates a warning; when this is present, other properties can still be used error: type: string description: Indicates an error; when this is present, all other properties should be ignored customerMemberships: type: array description: List of memberships items: $ref: '#/components/schemas/CustomerMembershipJson' required: - customerMemberships ErrorJson: type: object properties: message: type: string code: type: string Extension: allOf: - $ref: '#/components/schemas/Result' - type: object properties: namespaceUrl: type: string description: URL to get metadata of the extension's namespace reviewsUrl: type: string description: URL to get the list of reviews of this extension files: type: object additionalProperties: type: string description: Map of file types (download, manifest, icon, readme, license, changelog) to their respective URLs name: type: string description: Name of the extension namespace: type: string description: Namespace of the extension targetPlatform: type: string description: Name of the target platform enum: - win32-x64 - win32-ia32 - win32-arm64 - linux-x64 - linux-arm64 - linux-armhf - alpine-x64 - alpine-arm64 - darwin-x64 - darwin-arm64 - web - universal version: type: string description: Selected version, or the latest version if none was specified preRelease: type: boolean description: Indicates whether this is a pre-release version publishedBy: $ref: '#/components/schemas/User' description: Data of the user who published this version reviewStatus: type: string description: 'Review/publishing status: published (active and visible to all), under_review (being reviewed), rejected (blocked)' enum: - published - under_review - rejected reviewMessage: type: string description: Message explaining the review status (e.g., why extension was quarantined or rejected) verified: type: boolean description: The value 'true' means the publishing user is a privileged user or the publishing user is a member of the extension's namespace and the namespace has at least one owner. allVersions: type: object additionalProperties: type: string deprecated: true deprecated: true description: 'Map of available versions to their metadata URLs. Deprecated: only returns the last 100 versions. Use allVersionsUrl instead.' allVersionsUrl: type: string description: URL to get a map of available versions to their metadata URLs. averageRating: type: number format: double description: Average rating maximum: 5 minimum: 0 downloadCount: type: integer format: int32 description: Number of downloads of the extension package minimum: 0 reviewCount: type: integer format: int64 description: Number of reviews minimum: 0 versionAlias: type: array description: Available version aliases ('latest' or 'pre-release') items: type: string timestamp: type: string description: Date and time when this version was published (ISO-8601) preview: type: boolean description: Indicates whether this is a preview extension displayName: type: string description: Name to be displayed in user interfaces namespaceDisplayName: type: string description: Namespace name to be displayed in user interfaces description: type: string engines: type: object additionalProperties: type: string description: Map of engine names to the respective version constraints categories: type: array items: type: string extensionKind: type: array description: A list that indicates where the extension should run in remote configurations. Values are "ui" (run locally), "workspace" (run on remote machine) and "web" items: type: string tags: type: array items: type: string license: type: string description: License identifier homepage: type: string description: URL of the extension's homepage repository: type: string description: URL of the extension's source repository sponsorLink: type: string description: URL to sponsor the extension bugs: type: string description: URL of the extension's bug tracker markdown: type: string description: Markdown rendering engine to use in user interfaces enum: - standard - github galleryColor: type: string description: CSS color to use as background in user interfaces galleryTheme: type: string description: Theme type for user interfaces enum: - light - dark localizedLanguages: type: array description: Languages the extension has been translated in items: type: string qna: type: string description: URL of the extension's Q&A page badges: type: array description: List of badges to display in user interfaces items: $ref: '#/components/schemas/Badge' dependencies: type: array description: List of dependencies to other extensions items: $ref: '#/components/schemas/ExtensionReference' bundledExtensions: type: array description: List of extensions bundled with this extension items: $ref: '#/components/schemas/ExtensionReference' downloads: type: object additionalProperties: type: string description: Map of download links by target platform allTargetPlatformVersions: type: array description: Map of target platforms by extension version items: $ref: '#/components/schemas/VersionTargetPlatformsJson' url: type: string description: version metadata URL deprecated: type: boolean description: Indicates whether the extension is deprecated replacement: $ref: '#/components/schemas/ExtensionReplacement' description: Reference to extension that replaces this extension when it's deprecated downloadable: type: boolean description: Whether to show downloads in user interfaces description: Metadata of an extension required: - name - namespace - namespaceDisplayName - namespaceUrl - publishedBy - reviewsUrl - timestamp - verified - version ExtensionQueryParam: type: object description: Parameters of the extension query properties: filters: type: array description: List of query filters items: $ref: '#/components/schemas/Filter' flags: type: integer format: int32 description: Flags to indicate what metadata to include in the query response ExtensionQueryResult: type: object properties: results: type: array items: $ref: '#/components/schemas/ResultItem' ExtensionReference: type: object description: A reference to another extension in the registry properties: url: type: string description: URL to get metadata of the referenced extension namespace: type: string description: Namespace of the referenced extension extension: type: string description: Name of the referenced extension required: - extension - namespace - url ExtensionReplacement: type: object description: Metadata of an extension replacement properties: url: type: string description: URL of the extension replacement displayName: type: string description: Name to be displayed in user interfaces ExtensionsByRating: type: object properties: rating: type: integer format: int32 extensions: type: integer format: int32 FileDecision: type: object description: File allow/block list decision properties: success: type: string description: Indicates success of the operation (omitted if a more specific result type is returned) warning: type: string description: Indicates a warning; when this is present, other properties can still be used error: type: string description: Indicates an error; when this is present, all other properties should be ignored id: type: string description: Unique identifier for the file decision scanId: type: string description: ID of the scan that originally flagged this file fileName: type: string description: Path to the file within the extension fileHash: type: string description: SHA256 hash of the file fileType: type: string description: File extension/type decision: type: string description: The admin decision for this file decidedBy: type: string description: Email of the admin who made the decision dateDecided: type: string description: When the decision was made (UTC) displayName: type: string description: Human-readable name of the extension containing this file namespace: type: string description: Extension namespace extensionName: type: string description: Technical name of the extension publisher: type: string description: Publisher name version: type: string description: Extension version when decision was made FileDecisionCounts: type: object description: Counts of allowed and blocked files properties: success: type: string description: Indicates success of the operation (omitted if a more specific result type is returned) warning: type: string description: Indicates a warning; when this is present, other properties can still be used error: type: string description: Indicates an error; when this is present, all other properties should be ignored allowed: type: integer format: int32 description: Total count of allowed files blocked: type: integer format: int32 description: Total count of blocked files total: type: integer format: int32 description: Total count of all files FileDecisionDeleteRequest: type: object description: Request body for deleting file decisions properties: fileIds: type: array description: List of file IDs to delete items: type: integer format: int64 FileDecisionDeleteResponse: type: object description: Response for file decision delete operations properties: success: type: string description: Indicates success of the operation (omitted if a more specific result type is returned) warning: type: string description: Indicates a warning; when this is present, other properties can still be used error: type: string description: Indicates an error; when this is present, all other properties should be ignored processed: type: integer format: int32 description: Total number of file IDs processed successful: type: integer format: int32 description: Number of deletions completed successfully failed: type: integer format: int32 description: Number of deletions that failed results: type: array description: Detailed results for each file ID items: $ref: '#/components/schemas/FileDecisionDeleteResult' FileDecisionDeleteResult: type: object description: Individual result for a file decision delete operation properties: fileId: type: integer format: int64 description: The file ID that was processed success: type: boolean description: Whether the deletion was successful error: type: string description: Error message if the deletion failed FileDecisionRequest: type: object description: Request body for creating/updating file decisions properties: fileHashes: type: array description: List of file hashes to apply the decision to items: type: string decision: type: string description: 'Decision to apply: ''allowed'' or ''blocked''' FileDecisionResponse: type: object description: Response for file decision create/update operations properties: success: type: string description: Indicates success of the operation (omitted if a more specific result type is returned) warning: type: string description: Indicates a warning; when this is present, other properties can still be used error: type: string description: Indicates an error; when this is present, all other properties should be ignored processed: type: integer format: int32 description: Total number of file hashes processed example: 5 successful: type: integer format: int32 description: Number of decisions applied successfully example: 4 failed: type: integer format: int32 description: Number of decisions that failed example: 1 results: type: array description: Detailed results for each file hash items: $ref: '#/components/schemas/FileDecisionResult' FileDecisionResult: type: object description: Individual result for a file decision create/update operation properties: fileHash: type: string description: The file hash that was processed example: a3f5c8e9d2b1f4a6 success: type: boolean description: Whether the operation was successful example: true error: type: string description: Error message if the operation failed example: File hash not found FilesResponse: type: object description: Paginated list of file decisions properties: success: type: string description: Indicates success of the operation (omitted if a more specific result type is returned) warning: type: string description: Indicates a warning; when this is present, other properties can still be used error: type: string description: Indicates an error; when this is present, all other properties should be ignored offset: type: integer format: int32 description: Number of skipped entries minimum: 0 totalSize: type: integer format: int32 description: Total number of files matching the query minimum: 0 files: type: array description: List of file decisions items: $ref: '#/components/schemas/FileDecision' required: - files - offset - totalSize Filter: type: object description: Query filter properties: criteria: type: array description: List of filter criteria items: $ref: '#/components/schemas/Criterion' pageNumber: type: integer format: int32 description: Page number pageSize: type: integer format: int32 description: Maximal number of results per page sortBy: type: integer format: int32 default: 0 description: Query result sort key

values:
* 0 Relevance
* 4 InstallCount
* 5 PublishedDate
* 6 AverageRating enum: - '0' - '4' - '5' - '6' sortOrder: type: integer format: int32 default: 0 description: Query result sort order

values:
* 0 Descending
* 1 Ascending enum: - '0' - '1' LoginProvidersJson: type: object properties: success: type: string description: Indicates success of the operation (omitted if a more specific result type is returned) warning: type: string description: Indicates a warning; when this is present, other properties can still be used error: type: string description: Indicates an error; when this is present, all other properties should be ignored loginProviders: type: object additionalProperties: type: string Namespace: allOf: - $ref: '#/components/schemas/Result' - type: object properties: name: type: string description: Name of the namespace extensions: type: object additionalProperties: type: string description: Map of extension names to their metadata URLs (not required for creating) verified: type: boolean description: Indicates whether the namespace has an owner (not required for creating) description: Metadata of a namespace required: - name - verified NamespaceDetails: type: object description: Details of a namespace properties: success: type: string description: Indicates success of the operation (omitted if a more specific result type is returned) warning: type: string description: Indicates a warning; when this is present, other properties can still be used error: type: string description: Indicates an error; when this is present, all other properties should be ignored name: type: string description: Name of the namespace displayName: type: string description: Display name of the namespace description: type: string description: Description of the namespace logo: type: string description: Logo URL of the namespace website: type: string description: Website URL of the namespace supportLink: type: string description: Support URL of the namespace socialLinks: type: object additionalProperties: type: string description: Map of social network names to their profile URLs extensions: type: array description: Map of extension names to their metadata URLs items: $ref: '#/components/schemas/SearchEntry' verified: type: boolean description: Indicates whether the namespace has an owner required: - displayName - name - verified NamespaceMembershipJson: type: object properties: namespace: type: string role: type: string user: $ref: '#/components/schemas/User' NamespaceMembershipList: type: object description: Metadata of a namespace member list properties: success: type: string description: Indicates success of the operation (omitted if a more specific result type is returned) warning: type: string description: Indicates a warning; when this is present, other properties can still be used error: type: string description: Indicates an error; when this is present, all other properties should be ignored namespaceMemberships: type: array description: List of memberships items: $ref: '#/components/schemas/NamespaceMembershipJson' required: - namespaceMemberships PublisherRevocationTarget: type: object description: Coordinate for a publisher that should be have its' contributions revoked properties: loginName: type: string provider: type: string PublishersByExtensionsPublished: type: object properties: extensionsPublished: type: integer format: int32 publishers: type: integer format: int32 QueryParam: type: object description: Parameters of the metadata query properties: namespaceName: type: string description: Name of a namespace extensionName: type: string description: Name of an extension extensionVersion: type: string description: Version of an extension extensionId: type: string description: Identifier in the format {namespace}.{extension} extensionUuid: type: string description: Universally unique identifier of an extension namespaceUuid: type: string description: Universally unique identifier of a namespace includeAllVersions: type: boolean description: Whether to include all versions of an extension, ignored if extensionVersion is specified targetPlatform: type: string description: Name of the target platform enum: - win32-x64 - win32-ia32 - win32-arm64 - linux-x64 - linux-arm64 - linux-armhf - alpine-x64 - alpine-arm64 - darwin-x64 - darwin-arm64 - web - universal size: type: integer format: int32 default: 100 description: Maximal number of entries to return minimum: 0 offset: type: integer format: int32 default: 0 description: Number of entries to skip (usually a multiple of the page size) minimum: 0 QueryResult: allOf: - $ref: '#/components/schemas/Result' - type: object properties: offset: type: integer format: int32 description: Number of skipped entries according to the query minimum: 0 totalSize: type: integer format: int32 description: Total number of entries that match the query minimum: 0 extensions: type: array description: Extensions that match the given query (may be empty) items: $ref: '#/components/schemas/Extension' description: Metadata query result required: - offset - totalSize RateLimitTokenJson: type: object properties: success: type: string description: Indicates success of the operation (omitted if a more specific result type is returned) warning: type: string description: Indicates a warning; when this is present, other properties can still be used error: type: string description: Indicates an error; when this is present, all other properties should be ignored id: type: integer format: int64 value: type: string createdTimestamp: type: string description: type: string RegistryVersion: type: object description: Configuration of the registry service properties: success: type: string description: Indicates success of the operation (omitted if a more specific result type is returned) warning: type: string description: Indicates a warning; when this is present, other properties can still be used error: type: string description: Indicates an error; when this is present, all other properties should be ignored version: type: string description: Registry version maxExtensionSize: type: integer format: int64 description: Maximum allowed extension package size in bytes required: - version Result: type: object description: Generic result indicator properties: success: type: string description: Indicates success of the operation (omitted if a more specific result type is returned) warning: type: string description: Indicates a warning; when this is present, other properties can still be used error: type: string description: Indicates an error; when this is present, all other properties should be ignored ResultItem: type: object properties: extensions: type: array items: $ref: '#/components/schemas/Extension' resultMetadata: type: array items: $ref: '#/components/schemas/ResultMetadata' ResultMetadata: type: object properties: metadataType: type: string metadataItems: type: array items: $ref: '#/components/schemas/ResultMetadataItem' ResultMetadataItem: type: object properties: name: type: string count: type: integer format: int64 Review: type: object description: A review of an extension properties: user: $ref: '#/components/schemas/User' description: Data of the user who posted this review timestamp: type: string description: Date and time when this review was posted (ISO-8601) comment: type: string rating: type: integer format: int32 description: Number of stars maximum: 5 minimum: 0 required: - rating - timestamp - user ReviewList: allOf: - $ref: '#/components/schemas/Result' - type: object properties: reviews: type: array items: $ref: '#/components/schemas/Review' description: List of reviews of an extension required: - reviews ScanDecisionRequest: type: object description: Request body for making security decisions on quarantined scans properties: scanIds: type: array description: List of scan IDs to apply the decision to (can be single or multiple) items: type: string decision: type: string description: Security decision to apply to all specified scans ScanDecisionResponse: type: object description: Response for security decisions on scans properties: success: type: string description: Indicates success of the operation (omitted if a more specific result type is returned) warning: type: string description: Indicates a warning; when this is present, other properties can still be used error: type: string description: Indicates an error; when this is present, all other properties should be ignored processed: type: integer format: int32 description: Total number of scan IDs processed successful: type: integer format: int32 description: Number of decisions applied successfully failed: type: integer format: int32 description: Number of decisions that failed results: type: array description: Detailed results for each scan ID items: $ref: '#/components/schemas/ScanDecisionResult' ScanDecisionResult: type: object description: Individual result in a scan decision response properties: scanId: type: string description: The scan ID that was processed success: type: boolean description: Whether the decision was applied successfully error: type: string description: Error message if the decision failed ScanFilterOptions: type: object description: Lists of unique values that can be used to filter scan results properties: success: type: string description: Indicates success of the operation (omitted if a more specific result type is returned) warning: type: string description: Indicates a warning; when this is present, other properties can still be used error: type: string description: Indicates an error; when this is present, all other properties should be ignored validationTypes: type: array description: List of unique validation types from all scans. items: type: string threatScannerNames: type: array description: List of unique threat scanner names. items: type: string required: - threatScannerNames - validationTypes ScanResult: type: object description: Extension scan result with status and validation details properties: success: type: string description: Indicates success of the operation (omitted if a more specific result type is returned) warning: type: string description: Indicates a warning; when this is present, other properties can still be used error: type: string description: Indicates an error; when this is present, all other properties should be ignored id: type: string description: Unique identifier for the scan status: type: string description: Current status of the scan extensionIcon: type: string description: URL to extension icon displayName: type: string description: Display name of the extension namespace: type: string description: Extension namespace extensionName: type: string description: Name of the extension publisher: type: string description: Login name of the user who published the extension publisherUrl: type: string description: Profile URL of the user who published the extension version: type: string description: Extension version downloadUrl: type: string description: URL to download the extension package targetPlatform: type: string description: Target platform for the scan universalTargetPlatform: type: boolean description: True if the scan target platform is universal dateScanStarted: type: string description: When the scan started (UTC) dateScanEnded: type: string description: When the scan completed (UTC) dateQuarantined: type: string description: When the extension was quarantined (UTC) dateRejected: type: string description: When the extension was auto-rejected (UTC) adminDecision: $ref: '#/components/schemas/AdminDecision' description: Admin decision on quarantined extension threats: type: array description: Files flagged by security scanner items: $ref: '#/components/schemas/Threat' validationFailures: type: array description: Validation failures that caused auto-rejection items: $ref: '#/components/schemas/ValidationFailure' checkResults: type: array description: All checks/scans that were executed (pass, fail, or skip) items: $ref: '#/components/schemas/CheckResult' scannerJobs: type: array description: Scanner jobs for this scan with their current lifecycle state (QUEUED, PROCESSING, SUBMITTED, COMPLETE, FAILED, REMOVED). Lets the UI surface ongoing or queued scanners without inferring their state from checkResults. items: $ref: '#/components/schemas/ScannerJob' errorMessage: type: string description: Error message if the scan failed with an error ScanStatistics: type: object description: Total counts for scan statuses and quarantine decisions properties: success: type: string description: Indicates success of the operation (omitted if a more specific result type is returned) warning: type: string description: Indicates a warning; when this is present, other properties can still be used ERROR: type: integer format: int64 description: Indicates an error; when this is present, all other properties should be ignored STARTED: type: integer format: int64 VALIDATING: type: integer format: int64 SCANNING: type: integer format: int64 PASSED: type: integer format: int64 QUARANTINED: type: integer format: int64 AUTO_REJECTED: type: integer format: int64 ALLOWED: type: integer format: int64 BLOCKED: type: integer format: int64 NEEDS_REVIEW: type: integer format: int64 ScannerJob: type: object description: Lifecycle state of a scanner job for an extension scan properties: id: type: string description: Unique identifier of the scanner job scannerType: type: string description: Identifies the scanner type that runs this job status: type: string description: 'Current lifecycle status: QUEUED, PROCESSING, SUBMITTED, COMPLETE, FAILED, REMOVED' createdAt: type: string description: When the job was created (UTC) updatedAt: type: string description: When the job was last updated (UTC) errorMessage: type: string description: Error message if the job failed or was removed externalUrl: type: string description: Deep link to the external scanner's own dashboard for this job. Only populated for async scanners that configure external-url-template. SearchEntry: type: object description: Summary of metadata of an extension properties: url: type: string description: URL to get the full metadata of the extension files: type: object additionalProperties: type: string description: Map of file types (download, manifest, icon, readme, license, changelog) to their respective URLs name: type: string description: Name of the extension namespace: type: string description: Namespace of the extension version: type: string description: The latest published version timestamp: type: string description: Date and time when this version was published (ISO-8601) verified: type: boolean description: The value 'true' means the publishing user is a privileged user or the publishing user is a member of the extension's namespace and the namespace has at least one owner. allVersions: type: array deprecated: true description: 'Essential metadata of all available versions. Deprecated: only returns the last 100 versions. Use allVersionsUrl instead.' items: $ref: '#/components/schemas/VersionReference' allVersionsUrl: type: string description: URL to get essential metadata of all available versions. averageRating: type: number format: double description: Average rating maximum: 5 minimum: 0 reviewCount: type: integer format: int64 description: Number of reviews minimum: 0 downloadCount: type: integer format: int32 description: Number of downloads of the extension package minimum: 0 displayName: type: string description: Name to be displayed in user interfaces description: type: string deprecated: type: boolean description: Indicates whether the extension is deprecated required: - files - name - namespace - timestamp - url - verified - version SearchResult: allOf: - $ref: '#/components/schemas/Result' - type: object properties: offset: type: integer format: int32 description: Number of skipped entries according to the search query minimum: 0 totalSize: type: integer format: int32 description: Total number of entries that match the search query minimum: 0 extensions: type: array description: List of matching entries, limited to the size specified in the search query items: $ref: '#/components/schemas/SearchEntry' description: List of extensions matching a search query required: - extensions - offset - totalSize StreamingResponseBody: {} TargetPlatformActive: type: object description: Target platform of an extension version and whether it is active properties: targetPlatform: type: string description: Name of the target platform enum: - win32-x64 - win32-ia32 - win32-arm64 - linux-x64 - linux-arm64 - linux-armhf - alpine-x64 - alpine-arm64 - darwin-x64 - darwin-arm64 - web - universal active: type: boolean description: Whether this extension version for this target platform is active removed: type: boolean description: Whether this extension version for this target platform has been removed (soft-deleted) TargetPlatformVersion: type: object description: Combination of target platform and version of an extension properties: targetPlatform: type: string description: Name of the target platform enum: - win32-x64 - win32-ia32 - win32-arm64 - linux-x64 - linux-arm64 - linux-armhf - alpine-x64 - alpine-arm64 - darwin-x64 - darwin-arm64 - web - universal version: type: string description: Version of the extension required: - version Threat: type: object description: Security threat detected by scanner properties: id: type: string description: Unique identifier for the threat type: type: string description: Type of security scanner that flagged this file ruleName: type: string description: Name of the scanner rule that triggered the detection reason: type: string description: Human-readable reason for threat detection dateDetected: type: string description: When the threat was detected (UTC) fileName: type: string description: Path to the flagged file within the extension fileHash: type: string description: SHA256 hash of the flagged file fileExtension: type: string description: File extension of the flagged file severity: type: string description: Severity level of the threat enforcedFlag: type: boolean description: Whether this threat is enforced (affects extension status) TierJson: type: object properties: success: type: string description: Indicates success of the operation (omitted if a more specific result type is returned) warning: type: string description: Indicates a warning; when this is present, other properties can still be used error: type: string description: Indicates an error; when this is present, all other properties should be ignored name: type: string description: type: string tierType: type: string capacity: type: integer format: int32 duration: type: integer format: int64 refillStrategy: type: string required: - name - refillStrategy - tierType TierListJson: type: object properties: tiers: type: array items: $ref: '#/components/schemas/TierJson' TopMostActivePublishingUsers: type: object properties: userLoginName: type: string publishedExtensionVersions: type: integer format: int32 TopMostDownloadedExtensions: type: object properties: extensionIdentifier: type: string downloads: type: integer format: int64 TopNamespaceExtensionVersions: type: object properties: namespace: type: string extensionVersions: type: integer format: int32 TopNamespaceExtensions: type: object properties: namespace: type: string extensions: type: integer format: int32 UsageStatsJson: type: object properties: windowStart: type: integer format: int64 duration: type: integer format: int64 count: type: integer format: int64 UsageStatsListJson: type: object properties: stats: type: array items: $ref: '#/components/schemas/UsageStatsJson' dailyP95: type: integer format: int64 User: type: object description: User data properties: success: type: string description: Indicates success of the operation (omitted if a more specific result type is returned) warning: type: string description: Indicates a warning; when this is present, other properties can still be used error: type: string description: Indicates an error; when this is present, all other properties should be ignored loginName: type: string description: Login name fullName: type: string description: Full name avatarUrl: type: string description: URL to the user's avatar image homepage: type: string description: URL to the user's profile page provider: type: string description: Authentication provider (e.g. github) required: - loginName ValidationFailure: type: object description: Details of a validation check that failed properties: id: type: string description: Unique identifier for the validation failure type: type: string description: Type of validation that failed ruleName: type: string description: Specific rule name for the validation failure reason: type: string description: Detailed explanation of why validation failed dateDetected: type: string description: When the validation failure occurred (UTC) enforcedFlag: type: boolean description: Whether this validation failure is enforced VersionReference: type: object description: Essential metadata of an extension version properties: url: type: string description: URL to get the full metadata of this version files: type: object additionalProperties: type: string description: Map of file types (download, manifest, icon, readme, license, changelog) to their respective URLs version: type: string targetPlatform: type: string description: Name of the target platform enum: - win32-x64 - win32-ia32 - win32-arm64 - linux-x64 - linux-arm64 - linux-armhf - alpine-x64 - alpine-arm64 - darwin-x64 - darwin-arm64 - web - universal engines: type: object additionalProperties: type: string description: Map of engine names to the respective version constraints VersionReferences: type: object description: List of version references matching an extension properties: success: type: string description: Indicates success of the operation (omitted if a more specific result type is returned) warning: type: string description: Indicates a warning; when this is present, other properties can still be used error: type: string description: Indicates an error; when this is present, all other properties should be ignored offset: type: integer format: int32 description: Number of skipped entries according to the version references request minimum: 0 totalSize: type: integer format: int32 description: Total number of version references the extension has minimum: 0 versions: type: array description: Essential metadata of all available versions, limited to the size specified in the version references request items: $ref: '#/components/schemas/VersionReference' required: - offset - totalSize - versions VersionTargetPlatformsJson: type: object properties: version: type: string targetPlatforms: type: array items: $ref: '#/components/schemas/TargetPlatformActive' canDelete: type: boolean Versions: type: object description: Map of versions matching an extension properties: success: type: string description: Indicates success of the operation (omitted if a more specific result type is returned) warning: type: string description: Indicates a warning; when this is present, other properties can still be used error: type: string description: Indicates an error; when this is present, all other properties should be ignored offset: type: integer format: int32 description: Number of skipped entries according to the versions request minimum: 0 totalSize: type: integer format: int32 description: Total number of versions the extension has minimum: 0 versions: type: object additionalProperties: type: string description: Map of versions, limited to the size specified in the versions request required: - offset - totalSize - versions