openapi: 3.2.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' title: Eclipse Vs Code API servers: - url: https://open-vsx.org description: Generated server url tags: - name: vs-code-api paths: /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 /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 components: schemas: 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 ResultItem: type: object properties: extensions: type: array items: $ref: '#/components/schemas/Extension' resultMetadata: type: array items: $ref: '#/components/schemas/ResultMetadata' 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 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 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 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 ResultMetadata: type: object properties: metadataType: type: string metadataItems: type: array items: $ref: '#/components/schemas/ResultMetadataItem' 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 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 VersionTargetPlatformsJson: type: object properties: version: type: string targetPlatforms: type: array items: $ref: '#/components/schemas/TargetPlatformActive' canDelete: type: boolean 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) 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 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' ExtensionQueryResult: type: object properties: results: type: array items: $ref: '#/components/schemas/ResultItem' ResultMetadataItem: type: object properties: name: type: string count: type: integer format: int64