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 Registry API servers: - url: https://open-vsx.org description: Generated server url tags: - name: registry-api paths: /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. 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 /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… 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 summary: Get namespace details x-summary-source: derived /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…' description: '**Preview** -- this endpoint may still change in a later release.' 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 components: schemas: 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 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 VersionTargetPlatformsJson: type: object properties: version: type: string targetPlatforms: type: array items: $ref: '#/components/schemas/TargetPlatformActive' canDelete: type: boolean 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 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 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 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 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 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 StreamingResponseBody: {} 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 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 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 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 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) 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 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 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 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 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 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