openapi: 3.1.0
info:
termsOfService: https://www.eclipse.org/legal/termsofuse.php
license:
name: Eclipse Public License 2.0
url: https://www.eclipse.org/legal/epl-2.0/
version: '0.1'
servers:
- url: https://open-vsx.org
description: Generated server url
paths:
/admin/ratelimit/tiers/{name}:
put:
tags:
- rate-limit-api
operationId: updateTier
parameters:
- name: name
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TierJson'
required: true
responses:
'200':
description: OK
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
$ref: '#/components/schemas/TierJson'
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
delete:
tags:
- rate-limit-api
operationId: deleteTier
parameters:
- name: name
in: path
required: true
schema:
type: string
responses:
'200':
description: OK
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/Result'
- $ref: '#/components/schemas/Extension'
- $ref: '#/components/schemas/Namespace'
- $ref: '#/components/schemas/NamespaceMembershipList'
- $ref: '#/components/schemas/QueryResult'
- $ref: '#/components/schemas/ReviewList'
- $ref: '#/components/schemas/SearchResult'
- $ref: '#/components/schemas/User'
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
/admin/ratelimit/customers/{name}:
get:
tags:
- rate-limit-api
operationId: getCustomer
parameters:
- name: name
in: path
required: true
schema:
type: string
responses:
'200':
description: OK
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
$ref: '#/components/schemas/CustomerJson'
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
put:
tags:
- rate-limit-api
operationId: updateCustomer
parameters:
- name: name
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CustomerJson'
required: true
responses:
'200':
description: OK
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
$ref: '#/components/schemas/CustomerJson'
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
delete:
tags:
- rate-limit-api
operationId: deleteCustomer
parameters:
- name: name
in: path
required: true
schema:
type: string
responses:
'200':
description: OK
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/Result'
- $ref: '#/components/schemas/Extension'
- $ref: '#/components/schemas/Namespace'
- $ref: '#/components/schemas/NamespaceMembershipList'
- $ref: '#/components/schemas/QueryResult'
- $ref: '#/components/schemas/ReviewList'
- $ref: '#/components/schemas/SearchResult'
- $ref: '#/components/schemas/User'
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
/vscode/gallery/extensionquery:
get:
tags:
- vs-code-api
summary: Provides metadata of extensions matching the given parameters
operationId: extensionQueryAsGet
parameters:
- name: q
in: query
required: true
schema:
type: string
responses:
'200':
description: Returns the query results
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
$ref: '#/components/schemas/ExtensionQueryResult'
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
post:
tags:
- vs-code-api
summary: Provides metadata of extensions matching the given parameters
operationId: extensionQuery
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ExtensionQueryParam'
required: true
responses:
'200':
description: Returns the query results
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
$ref: '#/components/schemas/ExtensionQueryResult'
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
/user/token/delete/{id}:
post:
tags:
- user-api
operationId: deleteAccessToken
parameters:
- name: id
in: path
required: true
schema:
type: integer
format: int64
responses:
'200':
description: OK
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/Result'
- $ref: '#/components/schemas/Extension'
- $ref: '#/components/schemas/Namespace'
- $ref: '#/components/schemas/NamespaceMembershipList'
- $ref: '#/components/schemas/QueryResult'
- $ref: '#/components/schemas/ReviewList'
- $ref: '#/components/schemas/SearchResult'
- $ref: '#/components/schemas/User'
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
/user/token/create:
post:
tags:
- user-api
operationId: createAccessToken
parameters:
- name: description
in: query
required: false
schema:
type: string
responses:
'200':
description: OK
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
$ref: '#/components/schemas/AccessTokenJson'
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
/user/publisher-agreement:
post:
tags:
- user-api
operationId: signPublisherAgreement
responses:
'200':
description: OK
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
$ref: '#/components/schemas/User'
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
/user/namespace/{namespace}/role:
post:
tags:
- user-api
operationId: setNamespaceMember
parameters:
- name: namespace
in: path
required: true
schema:
type: string
- name: user
in: query
required: true
schema:
type: string
- name: role
in: query
required: true
schema:
type: string
- name: provider
in: query
required: false
schema:
type: string
responses:
'200':
description: OK
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/Result'
- $ref: '#/components/schemas/Extension'
- $ref: '#/components/schemas/Namespace'
- $ref: '#/components/schemas/NamespaceMembershipList'
- $ref: '#/components/schemas/QueryResult'
- $ref: '#/components/schemas/ReviewList'
- $ref: '#/components/schemas/SearchResult'
- $ref: '#/components/schemas/User'
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
/user/namespace/{namespace}/details:
post:
tags:
- user-api
operationId: updateNamespaceDetails
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/NamespaceDetails'
required: true
responses:
'200':
description: OK
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/Result'
- $ref: '#/components/schemas/Extension'
- $ref: '#/components/schemas/Namespace'
- $ref: '#/components/schemas/NamespaceMembershipList'
- $ref: '#/components/schemas/QueryResult'
- $ref: '#/components/schemas/ReviewList'
- $ref: '#/components/schemas/SearchResult'
- $ref: '#/components/schemas/User'
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
/user/namespace/{namespace}/details/logo:
post:
tags:
- user-api
operationId: updateNamespaceDetailsLogo
parameters:
- name: namespace
in: path
required: true
schema:
type: string
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
file:
type: string
format: binary
required:
- file
responses:
'200':
description: OK
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/Result'
- $ref: '#/components/schemas/Extension'
- $ref: '#/components/schemas/Namespace'
- $ref: '#/components/schemas/NamespaceMembershipList'
- $ref: '#/components/schemas/QueryResult'
- $ref: '#/components/schemas/ReviewList'
- $ref: '#/components/schemas/SearchResult'
- $ref: '#/components/schemas/User'
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
/user/extension/{namespaceName}/{extensionName}/delete:
post:
tags:
- user-api
operationId: deleteExtension
parameters:
- name: namespaceName
in: path
required: true
schema:
type: string
- name: extensionName
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/TargetPlatformVersion'
required: true
responses:
'200':
description: OK
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/Result'
- $ref: '#/components/schemas/Extension'
- $ref: '#/components/schemas/Namespace'
- $ref: '#/components/schemas/NamespaceMembershipList'
- $ref: '#/components/schemas/QueryResult'
- $ref: '#/components/schemas/ReviewList'
- $ref: '#/components/schemas/SearchResult'
- $ref: '#/components/schemas/User'
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
/api/user/publish:
post:
tags:
- registry-api
summary: Publish an extension by uploading a vsix file
operationId: publish
requestBody:
description: Uploaded vsix file to publish
content:
application/octet-stream:
schema:
type: string
format: binary
required: true
responses:
'201':
description: Successfully published the extension
headers:
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Location:
description: The URL of the extension metadata
style: simple
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/Extension'
'400':
description: The extension could not be published
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
example:
error: 'Unknown publisher: foobar'
'403':
description: User is not logged in, has no publishing permission in the namespace, or has not signed a Publisher
Agreement
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
$ref: '#/components/schemas/Extension'
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
/api/user/namespace/create:
post:
tags:
- registry-api
summary: Create a namespace
operationId: createNamespace
requestBody:
description: Describes the namespace to create
content:
application/json:
schema:
$ref: '#/components/schemas/Namespace'
required: true
responses:
'201':
description: Successfully created the namespace
headers:
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Location:
description: The URL of the namespace metadata
style: simple
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/Result'
example:
success: Created namespace foobar
'400':
description: The namespace could not be created
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
$ref: '#/components/schemas/Result'
example:
error: Invalid access token.
'403':
description: User is not logged in
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
$ref: '#/components/schemas/Result'
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
/api/-/query:
get:
tags:
- registry-api
summary: Provides metadata of extensions matching the given parameters
operationId: getQuery
parameters:
- name: namespaceName
in: query
description: Name of a namespace
required: false
schema:
type: string
example: foo
- name: extensionName
in: query
description: Name of an extension
required: false
schema:
type: string
example: bar
- name: extensionVersion
in: query
description: Version of an extension
required: false
schema:
type: string
example: 1
- name: extensionId
in: query
description: Identifier in the format {namespace}.{extension}
required: false
schema:
type: string
example: foo.bar
- name: extensionUuid
in: query
description: Universally unique identifier of an extension
required: false
schema:
type: string
example: 5678
- name: namespaceUuid
in: query
description: Universally unique identifier of a namespace
required: false
schema:
type: string
example: 1234
- name: includeAllVersions
in: query
description: Whether to include all versions of an extension, ignored if extensionVersion is specified
required: false
schema:
type: boolean
default: false
- name: targetPlatform
in: query
description: Target platform
required: false
schema:
type: string
enum:
- win32-x64
- win32-ia32
- win32-arm64
- linux-x64
- linux-arm64
- linux-armhf
- alpine-x64
- alpine-arm64
- darwin-x64
- darwin-arm64
- web
- universal
example: linux-x64
- name: size
in: query
description: Maximal number of entries to return
required: false
schema:
type: integer
default: 100
maximum: 1000
minimum: 0
- name: offset
in: query
description: Number of entries to skip (usually a multiple of the page size)
required: false
schema:
type: integer
default: 0
minimum: 0
responses:
'200':
description: Returns the (possibly empty) query results
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
$ref: '#/components/schemas/QueryResult'
'400':
description: The request contains an invalid parameter value
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
example:
error: The 'extensionId' parameter must have the format 'namespace.extension'.
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
post:
tags:
- registry-api
summary: 'Provides metadata of extensions matching the given parameters. Deprecated: use GET /api/-/query instead.'
operationId: postQuery
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/QueryParam'
required: true
responses:
'301':
description: Returns redirect to GET /api/-/query.
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
$ref: '#/components/schemas/QueryResult'
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
deprecated: true
/api/-/publish:
post:
tags:
- registry-api
summary: Publish an extension by uploading a vsix file
operationId: publish_1
parameters:
- name: token
in: query
description: A personal access token
required: true
schema:
type: string
requestBody:
description: Uploaded vsix file to publish
content:
application/octet-stream:
schema:
type: string
format: binary
required: true
responses:
'201':
description: Successfully published the extension
headers:
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Location:
description: The URL of the extension metadata
style: simple
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/Extension'
'400':
description: The extension could not be published
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
example:
error: 'Unknown publisher: foobar'
'401':
description: The token is missing, invalid or expired
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
example:
error: Invalid access token.
'403':
description: The token is valid but has no publishing permission in the namespace, or the user has not signed a
Publisher Agreement
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
$ref: '#/components/schemas/Result'
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
/api/-/namespace/create:
post:
tags:
- registry-api
summary: Create a namespace
operationId: createNamespace_1
parameters:
- name: token
in: query
description: A personal access token
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Namespace'
required: true
responses:
'201':
description: Successfully created the namespace
headers:
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Location:
description: The URL of the namespace metadata
style: simple
schema:
type: string
content:
application/json:
schema:
$ref: '#/components/schemas/Result'
example:
success: Created namespace foobar
'400':
description: The namespace could not be created
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
$ref: '#/components/schemas/Result'
example:
error: Invalid access token.
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
/admin/scans/{scanId}/jobs/retry:
post:
tags:
- scan-api
summary: Retry all failed scanner jobs for a scan
operationId: retryFailedScannerJobs
parameters:
- name: scanId
in: path
description: Scan ID
required: true
schema:
type: integer
format: int64
example: 123
responses:
'200':
description: Failed jobs re-queued; returns the updated scan in SCANNING state
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
$ref: '#/components/schemas/ScanResult'
'400':
description: Scan is not terminal or has no failed jobs to retry
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
'404':
description: Scan or scanner jobs were not found
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
'403':
description: Administration role is required
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
/admin/scans/files/decisions:
post:
tags:
- file-decision-api
summary: Create or update file decisions
operationId: makeFileDecisions
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/FileDecisionRequest'
required: true
responses:
'200':
description: Decisions processed successfully
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
$ref: '#/components/schemas/FileDecisionResponse'
'400':
description: Invalid request
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
'403':
description: Administration role is required
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
delete:
tags:
- file-decision-api
summary: Remove file decisions
operationId: deleteFileDecisions
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/FileDecisionDeleteRequest'
required: true
responses:
'200':
description: Deletions processed successfully
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
$ref: '#/components/schemas/FileDecisionDeleteResponse'
'400':
description: Invalid request
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
'403':
description: Administration role is required
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
/admin/scans/decisions:
post:
tags:
- scan-api
summary: Make security decisions for quarantined scans
operationId: makeScanDecisions
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ScanDecisionRequest'
required: true
responses:
'200':
description: Decisions processed successfully
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
$ref: '#/components/schemas/ScanDecisionResponse'
'400':
description: Invalid request or scan not in quarantined status
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
'403':
description: Administration role is required
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
/admin/ratelimit/tiers/create:
post:
tags:
- rate-limit-api
operationId: createTier
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/TierJson'
required: true
responses:
'200':
description: OK
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
$ref: '#/components/schemas/TierJson'
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
/admin/ratelimit/customers/{name}/tokens:
get:
tags:
- rate-limit-api
operationId: getRateLimitTokens
parameters:
- name: name
in: path
required: true
schema:
type: string
responses:
'200':
description: OK
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/RateLimitTokenJson'
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
post:
tags:
- rate-limit-api
operationId: createRateLimitToken
parameters:
- name: name
in: path
required: true
schema:
type: string
- name: description
in: query
required: false
schema:
type: string
responses:
'200':
description: OK
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
$ref: '#/components/schemas/RateLimitTokenJson'
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
/admin/ratelimit/customers/{name}/remove-member:
post:
tags:
- rate-limit-api
operationId: removeCustomerMember
parameters:
- name: name
in: path
required: true
schema:
type: string
- name: user
in: query
required: true
schema:
type: string
- name: provider
in: query
required: false
schema:
type: string
responses:
'200':
description: OK
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/Result'
- $ref: '#/components/schemas/Extension'
- $ref: '#/components/schemas/Namespace'
- $ref: '#/components/schemas/NamespaceMembershipList'
- $ref: '#/components/schemas/QueryResult'
- $ref: '#/components/schemas/ReviewList'
- $ref: '#/components/schemas/SearchResult'
- $ref: '#/components/schemas/User'
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
/admin/ratelimit/customers/{name}/add-member:
post:
tags:
- rate-limit-api
operationId: addCustomerMember
parameters:
- name: name
in: path
required: true
schema:
type: string
- name: user
in: query
required: true
schema:
type: string
- name: provider
in: query
required: false
schema:
type: string
responses:
'200':
description: OK
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/Result'
- $ref: '#/components/schemas/Extension'
- $ref: '#/components/schemas/Namespace'
- $ref: '#/components/schemas/NamespaceMembershipList'
- $ref: '#/components/schemas/QueryResult'
- $ref: '#/components/schemas/ReviewList'
- $ref: '#/components/schemas/SearchResult'
- $ref: '#/components/schemas/User'
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
/admin/ratelimit/customers/create:
post:
tags:
- rate-limit-api
operationId: createCustomer
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CustomerJson'
required: true
responses:
'200':
description: OK
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
$ref: '#/components/schemas/CustomerJson'
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
/admin/publisher/{provider}/{authId}/delete:
post:
tags:
- admin-api
operationId: forgetUser
parameters:
- name: provider
in: path
required: true
schema:
type: string
- name: authId
in: path
required: true
schema:
type: string
responses:
'403':
description: Administration role is required
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
/admin/api/publisher/{provider}/{username}/delete:
post:
tags:
- admin-api
summary: Forget a user in response to a data-protection erasure request
operationId: forgetUser_1
parameters:
- name: provider
in: path
description: Authentication provider
required: true
schema:
type: string
example: github
- name: username
in: path
description: Provider-specific username
required: true
schema:
type: string
- name: token
in: query
description: A personal access token
required: true
schema:
type: string
responses:
'200':
description: A success message is returned in JSON format
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
$ref: '#/components/schemas/Result'
'403':
description: Administration role is required
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
'404':
description: User not found
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
/admin/api/publisher/bulk-revoke:
post:
tags:
- admin-api
summary: Bulk revoke publisher contributions
operationId: revokeBulkPublishers
parameters:
- name: token
in: query
description: A personal access token
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/BulkPublisherRevokeRequest'
required: true
responses:
'200':
description: A success message is returned in JSON format
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
$ref: '#/components/schemas/BulkPublisherRevokeResponse'
'400':
description: An error message is returned in JSON format
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
$ref: '#/components/schemas/Result'
'403':
description: Administration role is required
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
/admin/api/namespace/{namespaceName}/change-member:
post:
tags:
- admin-api
summary: Edit a member of a namespace
operationId: editNamespaceMember
parameters:
- name: namespaceName
in: path
description: Namespace name
required: true
schema:
type: string
example: BeardedBear
- name: user
in: query
description: User name
required: true
schema:
type: string
- name: provider
in: query
description: Login provider name
required: false
schema:
type: string
example: github
- name: role
in: query
description: The role to assign to the user or remove the user from the namespace
required: true
schema:
type: string
enum:
- contributor
- owner
- remove
- name: token
in: query
description: A personal access token
required: true
schema:
type: string
responses:
'200':
description: A success message is returned in JSON format
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
$ref: '#/components/schemas/Result'
'400':
description: An error message is returned in JSON format
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
$ref: '#/components/schemas/Result'
'403':
description: Administration role is required
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
/admin/api/extension/{namespaceName}/{extensionName}/purge:
post:
tags:
- admin-api
summary: Permanently purge an extension or one or multiple extension versions
description: Unlike delete, this physically removes the versions from the database and storage, freeing their identities
for republishing. Extension versions are otherwise immutable.
operationId: purgeExtension
parameters:
- name: namespaceName
in: path
description: Namespace name
required: true
schema:
type: string
example: julialang
- name: extensionName
in: path
description: Extension name
required: true
schema:
type: string
example: language-julia
- name: token
in: query
description: A personal access token
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/TargetPlatformVersion'
responses:
'200':
description: A success message is returned in JSON format
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
$ref: '#/components/schemas/Result'
'400':
description: An error message is returned in JSON format
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
$ref: '#/components/schemas/Result'
'404':
description: Extension not found
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
'403':
description: Administration role is required
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
/admin/api/extension/{namespaceName}/{extensionName}/delete:
post:
tags:
- admin-api
summary: Delete an extension or one or multiple extension versions
operationId: deleteExtension_1
parameters:
- name: namespaceName
in: path
description: Namespace name
required: true
schema:
type: string
example: julialang
- name: extensionName
in: path
description: Extension name
required: true
schema:
type: string
example: language-julia
- name: token
in: query
description: A personal access token
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/TargetPlatformVersion'
responses:
'200':
description: A success message is returned in JSON format
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
$ref: '#/components/schemas/Result'
'400':
description: An error message is returned in JSON format
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
$ref: '#/components/schemas/Result'
'404':
description: Extension not found
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
'403':
description: Administration role is required
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
/vscode/unpkg/{namespaceName}/{extensionName}/{version}/**:
get:
tags:
- vs-code-api
summary: Browse an extension package
operationId: browse
parameters:
- name: namespaceName
in: path
description: Extension namespace
required: true
schema:
type: string
example: malloydata
- name: extensionName
in: path
description: Extension name
required: true
schema:
type: string
example: malloy-vscode
- name: version
in: path
description: Extension version
required: true
schema:
type: string
example: 0.3.1710435722
responses:
'200':
description: The file content is returned in binary format or a list of file URLs is returned in JSON format in
case the path is a directory
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
example:
- https://open-vsx.org/vscode/unpkg/redhat/java/0.65.0/extension
- https://open-vsx.org/vscode/unpkg/redhat/java/0.65.0/extension.vsixmanifest
application/octet-stream: {}
'302':
description: The file is found at the specified location
headers:
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Location:
description: The actual URL where the file can be accessed
style: simple
schema:
type: string
'400':
description: The namespace name is the built-in extension namespace
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
'404':
description: The specified file or directory could not be found
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
/vscode/item:
get:
tags:
- vs-code-api
summary: Access an extension item
operationId: getItemUrl
parameters:
- name: itemName
in: query
description: Identifier in the format {publisher}.{name}
required: true
schema:
type: string
example: foo.bar
responses:
'302':
description: The item is found at the specified location
headers:
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Location:
description: The actual URL where the item can be accessed
style: simple
schema:
type: string
'400':
description: The itemName could not be parsed to publisher and extension name
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
'404':
description: The specified item could not be found
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
/vscode/gallery/{namespaceName}/{extensionName}/latest:
get:
tags:
- vs-code-api
summary: Provides metadata of the extension matching the given parameters
operationId: getLatest
parameters:
- name: namespaceName
in: path
description: Extension namespace
required: true
schema:
type: string
example: malloydata
- name: extensionName
in: path
description: Extension name
required: true
schema:
type: string
example: malloy-vscode
responses:
'200':
description: Returns the extension metadata
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
$ref: '#/components/schemas/Extension'
'404':
description: The specified extension could not be found
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
/vscode/gallery/publishers/{namespaceName}/vsextensions/{extensionName}/{version}/vspackage:
get:
tags:
- vs-code-api
summary: Access an extension package
operationId: download
parameters:
- name: namespaceName
in: path
description: Extension namespace
required: true
schema:
type: string
example: JFrog
- name: extensionName
in: path
description: Extension name
required: true
schema:
type: string
example: jfrog-vscode-extension
- name: version
in: path
description: Extension version
required: true
schema:
type: string
example: 2.11.7
- name: targetPlatform
in: query
description: Target platform
required: false
schema:
type: string
enum:
- win32-x64
- win32-ia32
- win32-arm64
- linux-x64
- linux-arm64
- linux-armhf
- alpine-x64
- alpine-arm64
- darwin-x64
- darwin-arm64
- web
- universal
example: linux-x64
responses:
'302':
description: The package is found at the specified location
headers:
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Location:
description: The actual URL where the package can be downloaded
style: simple
schema:
type: string
'400':
description: The namespace name is the built-in extension namespace
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
'404':
description: The specified package could not be found
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
/vscode/asset/{namespaceName}/{extensionName}/{version}/{assetType}/**:
get:
tags:
- vs-code-api
summary: Access an extension asset
operationId: getAsset
parameters:
- name: namespaceName
in: path
description: Extension namespace
required: true
schema:
type: string
example: vitest
- name: extensionName
in: path
description: Extension name
required: true
schema:
type: string
example: explorer
- name: version
in: path
description: Extension version
required: true
schema:
type: string
example: 1.6.6
- name: assetType
in: path
description: Asset type
required: true
schema:
type: string
enum:
- Microsoft.VisualStudio.Services.Icons.Default
- Microsoft.VisualStudio.Services.Content.Details
- Microsoft.VisualStudio.Services.Content.Changelog
- Microsoft.VisualStudio.Code.Manifest
- Microsoft.VisualStudio.Services.VSIXPackage
- Microsoft.VisualStudio.Services.Content.License
- Microsoft.VisualStudio.Code.WebResources
- Microsoft.VisualStudio.Services.VsixManifest
- Microsoft.VisualStudio.Services.VsixSignature
- Microsoft.VisualStudio.Services.PublicKey
example: Microsoft.VisualStudio.Services.VSIXPackage
- name: targetPlatform
in: query
description: Target platform
required: false
schema:
type: string
enum:
- win32-x64
- win32-ia32
- win32-arm64
- linux-x64
- linux-arm64
- linux-armhf
- alpine-x64
- alpine-arm64
- darwin-x64
- darwin-arm64
- web
- universal
example: linux-x64
responses:
'200':
description: The file content is returned
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/octet-stream: {}
'302':
description: The asset is found at the specified location
headers:
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Location:
description: The actual URL where the asset can be accessed
style: simple
schema:
type: string
'400':
description: The namespace name is the built-in extension namespace
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
'404':
description: The specified asset could not be found
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
/user:
get:
tags:
- user-api
operationId: getUserData
responses:
'200':
description: OK
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
$ref: '#/components/schemas/User'
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
/user/tokens:
get:
tags:
- user-api
operationId: getAccessTokens
responses:
'200':
description: OK
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/AccessTokenJson'
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
/user/search/{name}:
get:
tags:
- user-api
operationId: getUsersStartWith
parameters:
- name: name
in: path
required: true
schema:
type: string
responses:
'200':
description: OK
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/User'
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
/user/namespaces:
get:
tags:
- user-api
operationId: getOwnNamespaces
responses:
'200':
description: OK
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Namespace'
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
/user/namespace/{name}/members:
get:
tags:
- user-api
operationId: getNamespaceMembers
parameters:
- name: name
in: path
required: true
schema:
type: string
responses:
'200':
description: OK
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
$ref: '#/components/schemas/NamespaceMembershipList'
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
/user/extensions:
get:
tags:
- user-api
operationId: getOwnExtensions
responses:
'200':
description: OK
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Extension'
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
/user/extension/{namespaceName}/{extensionName}:
get:
tags:
- user-api
operationId: getOwnExtension
parameters:
- name: namespaceName
in: path
required: true
schema:
type: string
- name: extensionName
in: path
required: true
schema:
type: string
responses:
'200':
description: OK
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
$ref: '#/components/schemas/Extension'
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
/user/customers:
get:
tags:
- user-api
operationId: getOwnCustomers
responses:
'200':
description: OK
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/CustomerJson'
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
/user/customers/{name}/usage:
get:
tags:
- user-api
operationId: getOwnUsageStats
parameters:
- name: name
in: path
required: true
schema:
type: string
- name: date
in: query
required: false
schema:
type: string
responses:
'200':
description: OK
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
$ref: '#/components/schemas/UsageStatsListJson'
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
/user/csrf:
get:
tags:
- user-api
operationId: getCsrfToken
responses:
'200':
description: OK
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
$ref: '#/components/schemas/CsrfTokenJson'
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
/user/auth-error:
get:
tags:
- user-api
operationId: getAuthError
responses:
'200':
description: OK
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorJson'
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
/sitemap.xml:
get:
tags:
- sitemap-controller
operationId: getSitemap
responses:
'200':
description: OK
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/xml:
schema:
type: string
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
/login-providers:
get:
tags:
- user-api
operationId: login
responses:
'200':
description: OK
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
'*/*':
schema:
$ref: '#/components/schemas/LoginProvidersJson'
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
/api/{namespace}:
get:
tags:
- registry-api
summary: Provides metadata of a namespace
operationId: getNamespace
parameters:
- name: namespace
in: path
description: Namespace name
required: true
schema:
type: string
example: eamodio
responses:
'200':
description: The namespace metadata are returned in JSON format
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
$ref: '#/components/schemas/Namespace'
'404':
description: The specified namespace could not be found
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
/api/{namespace}/{extension}:
get:
tags:
- registry-api
summary: Provides metadata of the latest version of an extension
operationId: getExtension
parameters:
- name: namespace
in: path
description: Extension namespace
required: true
schema:
type: string
example: rust-lang
- name: extension
in: path
description: Extension name
required: true
schema:
type: string
example: rust-analyzer
responses:
'200':
description: The extension metadata are returned in JSON format
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
$ref: '#/components/schemas/Extension'
'404':
description: The specified extension could not be found
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
/api/{namespace}/{extension}/{version}:
get:
tags:
- registry-api
summary: Provides metadata of a specific version of an extension
operationId: getExtension_1
parameters:
- name: namespace
in: path
description: Extension namespace
required: true
schema:
type: string
example: TabNine
- name: extension
in: path
description: Extension name
required: true
schema:
type: string
example: tabnine-vscode
- name: version
in: path
description: Extension version
required: true
schema:
type: string
example: 3.172.0
responses:
'200':
description: The extension metadata are returned in JSON format
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
$ref: '#/components/schemas/Extension'
'404':
description: The specified extension could not be found
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
/api/{namespace}/{extension}/{version}/file/**:
get:
tags:
- registry-api
summary: Access a file packaged by an extension
operationId: getFile
parameters:
- name: namespace
in: path
description: Extension namespace
required: true
schema:
type: string
example: astro-build
- name: extension
in: path
description: Extension name
required: true
schema:
type: string
example: astro-vscode
- name: version
in: path
description: Extension version
required: true
schema:
type: string
example: 2.15.4
responses:
'200':
description: The file content is returned
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
'*/*':
schema:
$ref: '#/components/schemas/StreamingResponseBody'
'302':
description: The file is found at the specified location
headers:
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Location:
description: The actual URL where the file can be accessed
style: simple
schema:
type: string
'404':
description: The specified file could not be found
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
/api/{namespace}/{extension}/{targetPlatform}:
get:
tags:
- registry-api
summary: Provides metadata of the latest version of an extension
operationId: getExtension_2
parameters:
- name: namespace
in: path
description: Extension namespace
required: true
schema:
type: string
example: Dart-Code
- name: extension
in: path
description: Extension name
required: true
schema:
type: string
example: flutter
- name: targetPlatform
in: path
description: Target platform
required: true
schema:
type: string
enum:
- win32-x64
- win32-ia32
- win32-arm64
- linux-x64
- linux-arm64
- linux-armhf
- alpine-x64
- alpine-arm64
- darwin-x64
- darwin-arm64
- web
- universal
example: linux-arm64
responses:
'200':
description: The extension metadata are returned in JSON format
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
$ref: '#/components/schemas/Extension'
'404':
description: The specified extension could not be found
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
/api/{namespace}/{extension}/{targetPlatform}/{version}:
get:
tags:
- registry-api
summary: Provides metadata of a specific version of an extension
operationId: getExtension_3
parameters:
- name: namespace
in: path
description: Extension namespace
required: true
schema:
type: string
example: julialang
- name: extension
in: path
description: Extension name
required: true
schema:
type: string
example: language-julia
- name: targetPlatform
in: path
description: Target platform
required: true
schema:
type: string
enum:
- win32-x64
- win32-ia32
- win32-arm64
- linux-x64
- linux-arm64
- linux-armhf
- alpine-x64
- alpine-arm64
- darwin-x64
- darwin-arm64
- web
- universal
example: linux-arm64
- name: version
in: path
description: Extension version
required: true
schema:
type: string
example: 1.124.2
responses:
'200':
description: The extension metadata are returned in JSON format
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
$ref: '#/components/schemas/Extension'
'404':
description: The specified extension could not be found
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
/api/{namespace}/{extension}/{targetPlatform}/{version}/file/**:
get:
tags:
- registry-api
summary: Access a file packaged by an extension
operationId: getFile_1
parameters:
- name: namespace
in: path
description: Extension namespace
required: true
schema:
type: string
example: AdaCore
- name: extension
in: path
description: Extension name
required: true
schema:
type: string
example: ada
- name: targetPlatform
in: path
description: Target platform
required: true
schema:
type: string
enum:
- win32-x64
- win32-ia32
- win32-arm64
- linux-x64
- linux-arm64
- linux-armhf
- alpine-x64
- alpine-arm64
- darwin-x64
- darwin-arm64
- web
- universal
example: linux-arm64
- name: version
in: path
description: Extension version
required: true
schema:
type: string
example: 24.0.6
responses:
'200':
description: The file content is returned
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
'*/*':
schema:
$ref: '#/components/schemas/StreamingResponseBody'
'302':
description: The file is found at the specified location
headers:
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Location:
description: The actual URL where the file can be accessed
style: simple
schema:
type: string
'404':
description: The specified file could not be found
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
/api/{namespace}/{extension}/{targetPlatform}/versions:
get:
tags:
- registry-api
summary: Provides a map of versions matching an extension
operationId: getVersions
parameters:
- name: namespace
in: path
description: Extension namespace
required: true
schema:
type: string
example: stateful
- name: extension
in: path
description: Extension name
required: true
schema:
type: string
example: runme
- name: targetPlatform
in: path
description: Target platform
required: true
schema:
type: string
enum:
- win32-x64
- win32-ia32
- win32-arm64
- linux-x64
- linux-arm64
- linux-armhf
- alpine-x64
- alpine-arm64
- darwin-x64
- darwin-arm64
- web
- universal
example: linux-arm64
- name: size
in: query
description: Maximal number of entries to return
required: false
schema:
type: integer
default: 18
maximum: 100
minimum: 0
- name: offset
in: query
description: Number of entries to skip (usually a multiple of the page size)
required: false
schema:
type: integer
default: 0
minimum: 0
responses:
'200':
description: The extension versions are returned in JSON format
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
$ref: '#/components/schemas/Versions'
'404':
description: The specified extension could not be found
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
/api/{namespace}/{extension}/{targetPlatform}/version-references:
get:
tags:
- registry-api
summary: Provides a list of version references matching an extension
operationId: getVersionReferences
parameters:
- name: namespace
in: path
description: Extension namespace
required: true
schema:
type: string
example: hashicorp
- name: extension
in: path
description: Extension name
required: true
schema:
type: string
example: terraform
- name: targetPlatform
in: path
description: Target platform
required: true
schema:
type: string
enum:
- win32-x64
- win32-ia32
- win32-arm64
- linux-x64
- linux-arm64
- linux-armhf
- alpine-x64
- alpine-arm64
- darwin-x64
- darwin-arm64
- web
- universal
example: linux-arm64
- name: size
in: query
description: Maximal number of entries to return
required: false
schema:
type: integer
default: 18
maximum: 100
minimum: 0
- name: offset
in: query
description: Number of entries to skip (usually a multiple of the page size)
required: false
schema:
type: integer
default: 0
minimum: 0
responses:
'200':
description: The extension version references are returned in JSON format
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
$ref: '#/components/schemas/VersionReferences'
'404':
description: The specified extension could not be found
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
/api/{namespace}/{extension}/versions:
get:
tags:
- registry-api
summary: Provides a map of versions matching an extension
operationId: getVersions_1
parameters:
- name: namespace
in: path
description: Extension namespace
required: true
schema:
type: string
example: vscodevim
- name: extension
in: path
description: Extension name
required: true
schema:
type: string
example: vim
- name: size
in: query
description: Maximal number of entries to return
required: false
schema:
type: integer
default: 18
maximum: 100
minimum: 0
- name: offset
in: query
description: Number of entries to skip (usually a multiple of the page size)
required: false
schema:
type: integer
default: 0
minimum: 0
responses:
'200':
description: The extension versions are returned in JSON format
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
$ref: '#/components/schemas/Versions'
'404':
description: The specified extension could not be found
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
/api/{namespace}/{extension}/version-references:
get:
tags:
- registry-api
summary: Provides a list of version references matching an extension
operationId: getVersionReferences_1
parameters:
- name: namespace
in: path
description: Extension namespace
required: true
schema:
type: string
example: svelte
- name: extension
in: path
description: Extension name
required: true
schema:
type: string
example: svelte-vscode
- name: size
in: query
description: Maximal number of entries to return
required: false
schema:
type: integer
default: 18
maximum: 100
minimum: 0
- name: offset
in: query
description: Number of entries to skip (usually a multiple of the page size)
required: false
schema:
type: integer
default: 0
minimum: 0
responses:
'200':
description: The extension version references are returned in JSON format
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
$ref: '#/components/schemas/VersionReferences'
'404':
description: The specified extension could not be found
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
/api/{namespace}/{extension}/reviews:
get:
tags:
- registry-api
summary: Returns the list of reviews of an extension
operationId: getReviews
parameters:
- name: namespace
in: path
description: Extension namespace
required: true
schema:
type: string
example: Prisma
- name: extension
in: path
description: Extension name
required: true
schema:
type: string
example: prisma
responses:
'200':
description: The reviews are returned in JSON format
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
$ref: '#/components/schemas/ReviewList'
'404':
description: The specified extension could not be found
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
/api/{namespace}/verify-pat:
get:
tags:
- registry-api
summary: Check if a personal access token is valid and is allowed to publish in a namespace
operationId: verifyToken
parameters:
- name: namespace
in: path
description: Namespace
required: true
schema:
type: string
example: GitLab
- name: token
in: query
description: A personal access token
required: true
schema:
type: string
responses:
'200':
description: The provided PAT is valid and is allowed to publish extensions in the namespace
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
$ref: '#/components/schemas/Result'
'401':
description: The token is missing, invalid or expired
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
$ref: '#/components/schemas/Result'
'403':
description: The token is valid but has no publishing permission in the namespace
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
$ref: '#/components/schemas/Result'
'404':
description: The specified namespace could not be found
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
$ref: '#/components/schemas/Result'
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
/api/{namespace}/logo/{fileName}:
get:
tags:
- registry-api
summary: Provides logo of a namespace
operationId: getNamespaceLogo
parameters:
- name: namespace
in: path
description: Namespace name
required: true
schema:
type: string
example: Codeium
- name: fileName
in: path
description: Logo file name
required: true
schema:
type: string
example: logo-codeium.png
responses:
'200':
description: The namespace details are returned in JSON format
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
image/jpeg:
schema:
$ref: '#/components/schemas/StreamingResponseBody'
image/png:
schema:
$ref: '#/components/schemas/StreamingResponseBody'
'404':
description: The specified namespace could not be found
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
image/jpeg:
schema:
$ref: '#/components/schemas/StreamingResponseBody'
image/png:
schema:
$ref: '#/components/schemas/StreamingResponseBody'
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
/api/{namespace}/details:
get:
tags:
- registry-api
operationId: getNamespaceDetails
parameters:
- name: namespace
in: path
description: Namespace name
required: true
schema:
type: string
example: devsense
responses:
'200':
description: The namespace details are returned in JSON format
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
$ref: '#/components/schemas/NamespaceDetails'
'404':
description: The specified namespace could not be found
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
/api/version:
get:
tags:
- registry-api
summary: Return the registry version
operationId: getRegistryVersion
responses:
'200':
description: The registry version is returned in JSON format
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
$ref: '#/components/schemas/RegistryVersion'
'404':
description: The registry version could not be determined
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
$ref: '#/components/schemas/RegistryVersion'
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
/api/v2/-/query:
get:
tags:
- registry-api
summary: Provides metadata of extensions matching the given parameters
operationId: getQueryV2
parameters:
- name: namespaceName
in: query
description: Name of a namespace
required: false
schema:
type: string
example: foo
- name: extensionName
in: query
description: Name of an extension
required: false
schema:
type: string
example: bar
- name: extensionVersion
in: query
description: Version of an extension
required: false
schema:
type: string
example: 1
- name: extensionId
in: query
description: Identifier in the format {namespace}.{extension}
required: false
schema:
type: string
example: foo.bar
- name: extensionUuid
in: query
description: Universally unique identifier of an extension
required: false
schema:
type: string
example: 5678
- name: namespaceUuid
in: query
description: Universally unique identifier of a namespace
required: false
schema:
type: string
example: 1234
- name: includeAllVersions
in: query
description: Whether to include all versions of an extension
required: false
schema:
type: string
default: links
enum:
- 'true'
- 'false'
- links
- name: targetPlatform
in: query
description: Target platform
required: false
schema:
type: string
enum:
- win32-x64
- win32-ia32
- win32-arm64
- linux-x64
- linux-arm64
- linux-armhf
- alpine-x64
- alpine-arm64
- darwin-x64
- darwin-arm64
- web
- universal
example: linux-x64
- name: size
in: query
description: Maximal number of entries to return
required: false
schema:
type: integer
default: 100
maximum: 1000
minimum: 0
- name: offset
in: query
description: Number of entries to skip (usually a multiple of the page size)
required: false
schema:
type: integer
default: 0
minimum: 0
responses:
'200':
description: Returns the (possibly empty) query results
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
$ref: '#/components/schemas/QueryResult'
'400':
description: The request contains an invalid parameter value
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
$ref: '#/components/schemas/QueryResult'
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
/api/-/version-changes:
get:
tags:
- registry-api
summary: '[Preview] Provides a paginated feed of the publicly visible transitions of extension versions'
description: |
**Preview** -- this endpoint may still change in a later release. Its parameters and the shape of its response are not covered by the usual compatibility expectations yet, so keep track of what you depend on and follow the release notes.
Each entry reports one transition of a single extension version, ordered by the instant it happened, oldest first. A version that transitions repeatedly is reported once per transition rather than as a single entry that moves around, so that nothing is missed between two requests.
### Reported states
- **`ACTIVE`** -- the version is publicly available.
- **`INACTIVE`** -- the version is not publicly available. Its files are still there and it can become `ACTIVE` again.
- **`REMOVED`** -- the version is no longer available for download. Reported both for a version that was deleted and for one that was permanently purged, as either way the version is gone.
### Transitions
| From | To | Reported when |
| --- | --- | --- |
| _not in the feed_ | `ACTIVE` | the version was published and became publicly available |
| `ACTIVE` | `INACTIVE` | the version was deactivated administratively, for instance because the publisher's contributions were revoked or their publisher agreement is no longer signed |
| `INACTIVE` | `ACTIVE` | the version was reinstated and is publicly available again |
| `ACTIVE`, `INACTIVE` | `REMOVED` | the version was deleted or purged |
| `REMOVED` | `ACTIVE` | the version had been purged, freeing its identity, and the same version was published again |
A deleted version keeps its identity permanently reserved as a tombstone and can never be published again, so `REMOVED` is the last entry it ever gets. An administrator can purge it instead, which drops that tombstone and frees the identity: the same namespace, extension, version and target platform can then be published again and continue in the feed with a fresh `ACTIVE` entry. `REMOVED` is therefore the current state of the coordinates an entry names, not a guarantee that they will never come back.
Two consecutive entries for the same version never report the same state. The instant a version became publicly available can be much later than the `timestamp` it was published at, for instance when activation waited on a scan.
### Following the registry
Every response carries a `nextCursor`, the position of its last entry. Pass it back as `after` and the next response continues exactly where the previous one ended:
1. Request the feed, leaving `after` out on the very first request.
2. Process the entries in order.
3. Store `nextCursor` and pass it as `after` on the next request.
4. While `hasMore` is `true` there are further entries waiting, so request the next page straight away rather than waiting for the next poll.
The same loop serves a first full synchronisation, an hourly poll and a catch-up after days of downtime, and it neither repeats nor skips an entry in any of them. Storing `nextCursor` only after the entries have been processed means a consumer that dies mid-page reprocesses that page rather than losing it.
A cursor is an opaque position in the feed, not a timestamp: it also identifies which of the transitions sharing an instant have been processed, which a timestamp cannot. Do not construct or parse one, and do not follow the feed by passing an entry's `lastUpdated` as `since` -- `since` is inclusive, so it reports the entries sharing that instant again, and no exclusive variant of it could avoid that without skipping entries instead.
### Notes
- `since` and `until` bound the range a request is interested in and are meant for one-off queries. Combining `since` with `after` is rejected, as the two disagree about where the response starts; `until` combines with `after` to catch up to a fixed end.
- Entries are only ever appended and are never updated or reordered, so a cursor stays valid indefinitely.
- The feed stops short of the present by a small margin, so a transition is reported a little after it happened rather than instantly. This is what lets a consumer that has caught up be sure it has missed nothing: an entry is only reported once the transaction recording it is certain to have committed. Requesting an `until` closer to the present than that reports nothing beyond the margin rather than skipping those entries -- they turn up on a later request.
- Only changes in availability are reported. Editing the metadata of a version, such as its readme or its tags, is not a transition and produces no entry.
- Responses may be cached for up to one minute. Polling faster than that gains a consumer nothing.
operationId: getChanges
parameters:
- name: after
in: query
description: Continue after this position in the feed, as reported by the 'nextCursor' of a previous response. Cannot
be combined with 'since'.
required: false
schema:
type: string
example: MjAyNi0wMS0xNFQwOTozMDoxMV8xMjM0
- name: since
in: query
description: Only include entries at or after this date and time (ISO-8601). Meant for one-off queries; use 'after'
to follow the feed.
required: false
schema:
type: string
example: '2026-01-01T00:00:00Z'
- name: until
in: query
description: Only include entries before this date and time, exclusive (ISO-8601)
required: false
schema:
type: string
example: '2026-02-01T00:00:00Z'
- name: size
in: query
description: Maximal number of entries to return
required: false
schema:
type: integer
default: 100
maximum: 1000
minimum: 1
responses:
'200':
description: The changes are returned in JSON format
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
example:
changes:
- namespace: redhat
name: java
version: 1.30.0
targetPlatform: universal
state: ACTIVE
timestamp: '2026-01-14T09:12:33Z'
lastUpdated: '2026-01-14T09:12:33Z'
url: https://open-vsx.org/api/redhat/java/universal/1.30.0
- namespace: redhat
name: java
version: 1.29.0
targetPlatform: universal
state: REMOVED
timestamp: '2025-11-02T16:40:05Z'
lastUpdated: '2026-01-14T09:30:11Z'
url: https://open-vsx.org/api/redhat/java/universal/1.29.0
nextCursor: MjAyNi0wMS0xNFQwOTozMDoxMV8xMjM0
hasMore: false
'400':
description: The request contains an invalid parameter value
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
example:
error: 'Invalid ''since'' parameter: yesterday'
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
x-preview: true
/api/-/search:
get:
tags:
- registry-api
summary: Search extensions via text entered by a user
operationId: search
parameters:
- name: query
in: query
description: Query text for searching
required: false
schema:
type: string
example: javascript
- name: category
in: query
description: Extension category as shown in the UI
required: false
schema:
type: string
example: Programming Languages
- name: targetPlatform
in: query
description: Target platform
required: false
schema:
type: string
enum:
- win32-x64
- win32-ia32
- win32-arm64
- linux-x64
- linux-arm64
- linux-armhf
- alpine-x64
- alpine-arm64
- darwin-x64
- darwin-arm64
- web
- universal
example: linux-arm64
- name: size
in: query
description: Maximal number of entries to return
required: false
schema:
type: integer
default: 18
maximum: 1000
minimum: 0
- name: offset
in: query
description: Number of entries to skip (usually a multiple of the page size)
required: false
schema:
type: integer
default: 0
minimum: 0
- name: sortOrder
in: query
description: Descending or ascending sort order
required: false
schema:
type: string
enum:
- asc
- desc
- name: sortBy
in: query
description: Sort key (relevance is a weighted mix of various properties)
required: false
schema:
type: string
enum:
- relevance
- timestamp
- rating
- downloadCount
- name: includeAllVersions
in: query
description: Whether to include information on all available versions for each returned entry
required: false
schema:
type: boolean
default: false
responses:
'200':
description: The search results are returned in JSON format
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
$ref: '#/components/schemas/SearchResult'
'400':
description: The request contains an invalid parameter value
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
example:
error: The parameter 'size' must not be negative.
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
/api/-/public-key/{publicId}:
get:
tags:
- registry-api
summary: Access a public key file
operationId: getPublicKey
parameters:
- name: publicId
in: path
description: Public ID of a public key file
required: true
schema:
type: string
example: 92dea4de-80b5-4577-b27d-44cdcda82c63
responses:
'200':
description: The file content is returned
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
text/plain:
schema:
type: string
'404':
description: The specified public key file could not be found
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
/admin/scans:
get:
tags:
- scan-api
summary: Get all extension scans
operationId: getAllScans
parameters:
- name: status
in: query
description: Filter by scan status (comma-separated for multiple values)
required: false
style: form
explode: false
schema:
type: array
items:
type: string
enum:
- STARTED
- VALIDATING
- SCANNING
- PASSED
- QUARANTINED
- AUTO REJECTED
- ERROR
example: QUARANTINED
- name: publisher
in: query
description: Filter by publisher name (partial matches supported)
required: false
schema:
type: string
- name: namespace
in: query
description: Filter by namespace (partial matches supported)
required: false
schema:
type: string
- name: name
in: query
description: Filter by display name or extension name (partial matches supported)
required: false
schema:
type: string
- name: size
in: query
description: Maximal number of entries to return
required: false
schema:
type: integer
default: 10
maximum: 100
minimum: 0
- name: offset
in: query
description: Number of entries to skip
required: false
schema:
type: integer
default: 0
minimum: 0
- name: sortBy
in: query
description: Field to sort by
required: false
schema:
type: string
default: scanEndTime
enum:
- scanEndTime
- scanStartTime
- displayName
- publisher
- status
- name: sortOrder
in: query
description: Sort order
required: false
schema:
type: string
default: desc
enum:
- asc
- desc
- name: dateStartedFrom
in: query
description: Filter scans started on or after this date (ISO 8601 format)
required: false
schema:
type: string
- name: dateStartedTo
in: query
description: Filter scans started on or before this date (ISO 8601 format)
required: false
schema:
type: string
- name: validationType
in: query
description: Filter by validation type (comma-separated for multiple values, e.g., NAME SQUATTING, BLOCKLIST, SECRET)
required: false
style: form
explode: false
schema:
type: array
items:
type: string
example: NAME SQUATTING
- name: threatScannerName
in: query
description: Filter by threat scanner name (comma-separated for multiple values).
required: false
style: form
explode: false
schema:
type: array
items:
type: string
example: ClamAV
- name: enforcement
in: query
description: Filter by enforcement status of threats/validations
required: false
schema:
type: string
default: all
enum:
- enforced
- notEnforced
- all
- name: adminDecision
in: query
description: Filter by admin decision status (comma-separated for multiple values). Use 'allowed' for scans with Allowed
decision, 'blocked' for Blocked decision, 'needs-review' for scans with no decision yet.
required: false
style: form
explode: false
schema:
type: array
items:
type: string
enum:
- allowed
- blocked
- needs-review
responses:
'200':
description: List of all scans
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ScanResult'
'403':
description: Administration role is required
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
/admin/scans/{scanId}:
get:
tags:
- scan-api
summary: Get a specific scan by ID
operationId: getScan
parameters:
- name: scanId
in: path
description: Scan ID
required: true
schema:
type: integer
format: int64
example: 123
responses:
'200':
description: Scan details
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
$ref: '#/components/schemas/ScanResult'
'404':
description: Scan not found
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
'403':
description: Administration role is required
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
/admin/scans/filterOptions:
get:
tags:
- scan-api
summary: Get scan filter options
operationId: getScanFilterOptions
responses:
'200':
description: Lists of unique values usable for scan filtering
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
$ref: '#/components/schemas/ScanFilterOptions'
'403':
description: Administration role is required
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
/admin/scans/files:
get:
tags:
- file-decision-api
summary: Get files with admin decisions
operationId: getFiles
parameters:
- name: decision
in: query
description: Filter by admin decision type
required: false
schema:
type: string
enum:
- allowed
- blocked
- name: publisher
in: query
description: Filter by publisher name
required: false
schema:
type: string
- name: namespace
in: query
description: Filter by namespace
required: false
schema:
type: string
- name: name
in: query
description: Filter by display name, extension name, or file name
required: false
schema:
type: string
- name: size
in: query
description: Maximum number of entries to return
required: false
schema:
type: integer
default: 18
maximum: 100
minimum: 0
- name: offset
in: query
description: Number of entries to skip
required: false
schema:
type: integer
default: 0
minimum: 0
- name: sortBy
in: query
description: Field to sort by
required: false
schema:
type: string
default: dateDecided
enum:
- dateDecided
- fileName
- publisher
- namespace
- name: sortOrder
in: query
description: Sort order
required: false
schema:
type: string
default: desc
enum:
- asc
- desc
- name: dateDecidedFrom
in: query
description: Filter files decided on or after this date (ISO 8601 format)
required: false
schema:
type: string
- name: dateDecidedTo
in: query
description: Filter files decided on or before this date (ISO 8601 format)
required: false
schema:
type: string
responses:
'200':
description: List of file decisions
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
$ref: '#/components/schemas/FilesResponse'
'403':
description: Administration role is required
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
/admin/scans/files/{fileId}:
get:
tags:
- file-decision-api
summary: Get specific file decision
operationId: getFileDecision
parameters:
- name: fileId
in: path
description: File decision ID
required: true
schema:
type: integer
format: int64
example: 123
responses:
'200':
description: File decision details
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
$ref: '#/components/schemas/FileDecision'
'404':
description: File decision not found
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
'403':
description: Administration role is required
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
/admin/scans/files/counts:
get:
tags:
- file-decision-api
summary: Get file decision counts
operationId: getFileDecisionCounts
parameters:
- name: dateDecidedFrom
in: query
description: Filter files decided on or after this date (ISO 8601 format)
required: false
schema:
type: string
- name: dateDecidedTo
in: query
description: Filter files decided on or before this date (ISO 8601 format)
required: false
schema:
type: string
responses:
'200':
description: File decision counts
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
$ref: '#/components/schemas/FileDecisionCounts'
'403':
description: Administration role is required
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
/admin/scans/counts:
get:
tags:
- scan-api
summary: Get scan counts
operationId: getScanCounts
parameters:
- name: dateStartedFrom
in: query
description: Filter scans started on or after this date (ISO 8601 format)
required: false
schema:
type: string
- name: dateStartedTo
in: query
description: Filter scans started on or before this date (ISO 8601 format)
required: false
schema:
type: string
- name: enforcement
in: query
description: Filter by enforcement status of threats/validations
required: false
schema:
type: string
default: all
enum:
- enforced
- notEnforced
- all
- name: validationType
in: query
description: Filter by validation type (comma-separated for multiple values, e.g., NAME SQUATTING, BLOCKLIST, SECRET)
required: false
style: form
explode: false
schema:
type: array
items:
type: string
example: NAME SQUATTING
- name: threatScannerName
in: query
description: Filter by threat scanner name (comma-separated for multiple values).
required: false
style: form
explode: false
schema:
type: array
items:
type: string
example: ClamAV
responses:
'200':
description: Scan counts by status and quarantine decision
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
$ref: '#/components/schemas/ScanStatistics'
'403':
description: Administration role is required
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
/admin/report:
get:
tags:
- admin-api
summary: Get the admin report for the given month and year
operationId: getReportJson
parameters:
- name: token
in: query
description: A personal access token
required: true
schema:
type: string
- name: year
in: query
required: true
schema:
type: integer
format: int32
- name: month
in: query
required: true
schema:
type: integer
format: int32
responses:
'200':
description: The report is returned
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
$ref: '#/components/schemas/AdminStatisticsJson'
text/csv:
schema:
type: string
'400':
description: An error message is returned in JSON format
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
'403':
description: Administration role is required
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
/admin/ratelimit/tiers:
get:
tags:
- rate-limit-api
operationId: getTiers
responses:
'200':
description: OK
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
$ref: '#/components/schemas/TierListJson'
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
/admin/ratelimit/tiers/{name}/customers:
get:
tags:
- rate-limit-api
operationId: getCustomersForTier
parameters:
- name: name
in: path
required: true
schema:
type: string
responses:
'200':
description: OK
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
$ref: '#/components/schemas/CustomerListJson'
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
/admin/ratelimit/customers:
get:
tags:
- rate-limit-api
operationId: getCustomers
responses:
'200':
description: OK
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
$ref: '#/components/schemas/CustomerListJson'
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
/admin/ratelimit/customers/{name}/usage:
get:
tags:
- rate-limit-api
operationId: getUsageStats
parameters:
- name: name
in: path
required: true
schema:
type: string
- name: date
in: query
required: false
schema:
type: string
responses:
'200':
description: OK
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
$ref: '#/components/schemas/UsageStatsListJson'
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
/admin/ratelimit/customers/{name}/members:
get:
tags:
- rate-limit-api
operationId: getCustomerMembers
parameters:
- name: name
in: path
required: true
schema:
type: string
responses:
'200':
description: OK
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
$ref: '#/components/schemas/CustomerMembershipList'
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
/admin/api/namespace/{namespaceName}/members:
get:
tags:
- admin-api
summary: Get members for a namespace
operationId: getNamespaceMembers_1
parameters:
- name: namespaceName
in: path
description: Namespace name
required: true
schema:
type: string
example: mtxr
- name: token
in: query
description: A personal access token
required: true
schema:
type: string
responses:
'200':
description: The namespace membership list is returned in JSON format
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
$ref: '#/components/schemas/NamespaceMembershipList'
'400':
description: An error message is returned in JSON format
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
$ref: '#/components/schemas/NamespaceMembershipList'
'403':
description: Administration role is required
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
/admin/ratelimit/customers/{name}/tokens/{id}:
delete:
tags:
- rate-limit-api
operationId: deactivateRateLimitToken
parameters:
- name: name
in: path
required: true
schema:
type: string
- name: id
in: path
required: true
schema:
type: integer
format: int64
responses:
'200':
description: OK
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
content:
application/json:
schema:
oneOf:
- $ref: '#/components/schemas/Result'
- $ref: '#/components/schemas/Extension'
- $ref: '#/components/schemas/Namespace'
- $ref: '#/components/schemas/NamespaceMembershipList'
- $ref: '#/components/schemas/QueryResult'
- $ref: '#/components/schemas/ReviewList'
- $ref: '#/components/schemas/SearchResult'
- $ref: '#/components/schemas/User'
'429':
description: A client has sent too many requests in a given amount of time
headers:
X-RateLimit-Limit:
description: Number of requests that can be made in a given amount of time
schema:
format: int32
Retry-After:
description: Number of seconds to wait after receiving a 429 response
schema:
format: int32
X-RateLimit-Reset:
description: Number of seconds until the rate limit tokens will be fully filled to its maximum
schema:
format: int32
X-RateLimit-Remaining:
description: Remaining number of requests left in the current time window
schema:
format: int32
components:
schemas:
AccessTokenJson:
type: object
properties:
success:
type: string
description: Indicates success of the operation (omitted if a more specific result type is returned)
warning:
type: string
description: Indicates a warning; when this is present, other properties can still be used
error:
type: string
description: Indicates an error; when this is present, all other properties should be ignored
id:
type: integer
format: int64
value:
type: string
createdTimestamp:
type: string
accessedTimestamp:
type: string
expiresTimestamp:
type: string
notified:
type: boolean
description:
type: string
deleteTokenUrl:
type: string
AdminDecision:
type: object
description: Admin decision on a quarantined extension
properties:
decision:
type: string
description: Manual security decision for quarantined extension
decidedBy:
type: string
description: Admin who made the decision
dateDecided:
type: string
description: When the admin decision was made (UTC)
AdminStatisticsJson:
type: object
properties:
success:
type: string
description: Indicates success of the operation (omitted if a more specific result type is returned)
warning:
type: string
description: Indicates a warning; when this is present, other properties can still be used
error:
type: string
description: Indicates an error; when this is present, all other properties should be ignored
year:
type: integer
format: int32
month:
type: integer
format: int32
extensions:
type: integer
format: int64
downloads:
type: integer
format: int64
downloadsTotal:
type: integer
format: int64
publishers:
type: integer
format: int64
averageReviewsPerExtension:
type: number
format: double
namespaceOwners:
type: integer
format: int64
extensionsByRating:
type: array
items:
$ref: '#/components/schemas/ExtensionsByRating'
publishersByExtensionsPublished:
type: array
items:
$ref: '#/components/schemas/PublishersByExtensionsPublished'
topMostActivePublishingUsers:
type: array
items:
$ref: '#/components/schemas/TopMostActivePublishingUsers'
topNamespaceExtensions:
type: array
items:
$ref: '#/components/schemas/TopNamespaceExtensions'
topNamespaceExtensionVersions:
type: array
items:
$ref: '#/components/schemas/TopNamespaceExtensionVersions'
topMostDownloadedExtensions:
type: array
items:
$ref: '#/components/schemas/TopMostDownloadedExtensions'
Badge:
type: object
description: A badge to be shown in the sidebar of the extension page in the registry
properties:
url:
type: string
description: Image URL of the badge
href:
type: string
description: The link users will follow when clicking the badge
description:
type: string
BulkPublisherRevokeRequest:
type: object
description: List of publishers to revoke contributions for
properties:
publishers:
type: array
items:
$ref: '#/components/schemas/PublisherRevocationTarget'
reason:
type: string
BulkPublisherRevokeResponse:
type: object
description: List of responses for the bulk publisher revocation request
properties:
success:
type: string
description: Indicates success of the operation (omitted if a more specific result type is returned)
warning:
type: string
description: Indicates a warning; when this is present, other properties can still be used
error:
type: string
description: Indicates an error; when this is present, all other properties should be ignored
responses:
type: object
additionalProperties:
oneOf:
- $ref: '#/components/schemas/Result'
- $ref: '#/components/schemas/Extension'
- $ref: '#/components/schemas/Namespace'
- $ref: '#/components/schemas/NamespaceMembershipList'
- $ref: '#/components/schemas/QueryResult'
- $ref: '#/components/schemas/ReviewList'
- $ref: '#/components/schemas/SearchResult'
- $ref: '#/components/schemas/User'
description: Results for each of the attempted revoke operations matched on the login name of the user
CheckResult:
type: object
description: Result of a single check or scan execution
properties:
checkType:
type: string
description: Type of check
category:
type: string
description: 'Category: PUBLISH_CHECK or SCANNER_JOB'
result:
type: string
description: 'Result: PASSED, QUARANTINE, REJECT, or ERROR'
startedAt:
type: string
description: When the check started (UTC)
completedAt:
type: string
description: When the check completed (UTC)
durationMs:
type: integer
format: int64
description: Duration of check in milliseconds
filesScanned:
type: integer
format: int32
description: Number of files scanned (if applicable)
findingsCount:
type: integer
format: int32
description: Number of findings/issues detected
summary:
type: string
description: Brief summary of the result
errorMessage:
type: string
description: Error message if check failed with error
required:
type: boolean
description: Whether this check was required (errors block publishing). Null for scanner jobs.
externalUrl:
type: string
description: Deep link to the external scanner's own dashboard for this job. Only populated for SCANNER_JOB rows
whose scanner configures external-url-template.
Criterion:
type: object
description: Filter criteria
properties:
filterType:
type: integer
format: int32
description: Filter type
values:
* 1 TAG
* 4 EXTENSION_ID
* 5 CATEGORY
* 7 EXTENSION_NAME
*
8 TARGET
* 9 FEATURED
* 10 SEARCH_TEXT
* 12 EXCLUDE_WITH_FLAGS
enum:
- '1'
- '4'
- '5'
- '7'
- '8'
- '9'
- '10'
- '12'
value:
type: string
description: Filter value
CsrfTokenJson:
type: object
properties:
success:
type: string
description: Indicates success of the operation (omitted if a more specific result type is returned)
warning:
type: string
description: Indicates a warning; when this is present, other properties can still be used
error:
type: string
description: Indicates an error; when this is present, all other properties should be ignored
value:
type: string
header:
type: string
CustomerJson:
type: object
properties:
success:
type: string
description: Indicates success of the operation (omitted if a more specific result type is returned)
warning:
type: string
description: Indicates a warning; when this is present, other properties can still be used
error:
type: string
description: Indicates an error; when this is present, all other properties should be ignored
name:
type: string
tier:
$ref: '#/components/schemas/TierJson'
state:
type: string
cidrBlocks:
type: array
items:
type: string
required:
- name
- state
CustomerListJson:
type: object
properties:
customers:
type: array
items:
$ref: '#/components/schemas/CustomerJson'
CustomerMembershipJson:
type: object
properties:
customer:
type: string
user:
$ref: '#/components/schemas/User'
CustomerMembershipList:
type: object
description: Metadata of a customer member list
properties:
success:
type: string
description: Indicates success of the operation (omitted if a more specific result type is returned)
warning:
type: string
description: Indicates a warning; when this is present, other properties can still be used
error:
type: string
description: Indicates an error; when this is present, all other properties should be ignored
customerMemberships:
type: array
description: List of memberships
items:
$ref: '#/components/schemas/CustomerMembershipJson'
required:
- customerMemberships
ErrorJson:
type: object
properties:
message:
type: string
code:
type: string
Extension:
allOf:
- $ref: '#/components/schemas/Result'
- type: object
properties:
namespaceUrl:
type: string
description: URL to get metadata of the extension's namespace
reviewsUrl:
type: string
description: URL to get the list of reviews of this extension
files:
type: object
additionalProperties:
type: string
description: Map of file types (download, manifest, icon, readme, license, changelog) to their respective URLs
name:
type: string
description: Name of the extension
namespace:
type: string
description: Namespace of the extension
targetPlatform:
type: string
description: Name of the target platform
enum:
- win32-x64
- win32-ia32
- win32-arm64
- linux-x64
- linux-arm64
- linux-armhf
- alpine-x64
- alpine-arm64
- darwin-x64
- darwin-arm64
- web
- universal
version:
type: string
description: Selected version, or the latest version if none was specified
preRelease:
type: boolean
description: Indicates whether this is a pre-release version
publishedBy:
$ref: '#/components/schemas/User'
description: Data of the user who published this version
reviewStatus:
type: string
description: 'Review/publishing status: published (active and visible to all), under_review (being reviewed),
rejected (blocked)'
enum:
- published
- under_review
- rejected
reviewMessage:
type: string
description: Message explaining the review status (e.g., why extension was quarantined or rejected)
verified:
type: boolean
description: The value 'true' means the publishing user is a privileged user or the publishing user is a member
of the extension's namespace and the namespace has at least one owner.
allVersions:
type: object
additionalProperties:
type: string
deprecated: true
deprecated: true
description: 'Map of available versions to their metadata URLs. Deprecated: only returns the last 100 versions.
Use allVersionsUrl instead.'
allVersionsUrl:
type: string
description: URL to get a map of available versions to their metadata URLs.
averageRating:
type: number
format: double
description: Average rating
maximum: 5
minimum: 0
downloadCount:
type: integer
format: int32
description: Number of downloads of the extension package
minimum: 0
reviewCount:
type: integer
format: int64
description: Number of reviews
minimum: 0
versionAlias:
type: array
description: Available version aliases ('latest' or 'pre-release')
items:
type: string
timestamp:
type: string
description: Date and time when this version was published (ISO-8601)
preview:
type: boolean
description: Indicates whether this is a preview extension
displayName:
type: string
description: Name to be displayed in user interfaces
namespaceDisplayName:
type: string
description: Namespace name to be displayed in user interfaces
description:
type: string
engines:
type: object
additionalProperties:
type: string
description: Map of engine names to the respective version constraints
categories:
type: array
items:
type: string
extensionKind:
type: array
description: A list that indicates where the extension should run in remote configurations. Values are "ui" (run
locally), "workspace" (run on remote machine) and "web"
items:
type: string
tags:
type: array
items:
type: string
license:
type: string
description: License identifier
homepage:
type: string
description: URL of the extension's homepage
repository:
type: string
description: URL of the extension's source repository
sponsorLink:
type: string
description: URL to sponsor the extension
bugs:
type: string
description: URL of the extension's bug tracker
markdown:
type: string
description: Markdown rendering engine to use in user interfaces
enum:
- standard
- github
galleryColor:
type: string
description: CSS color to use as background in user interfaces
galleryTheme:
type: string
description: Theme type for user interfaces
enum:
- light
- dark
localizedLanguages:
type: array
description: Languages the extension has been translated in
items:
type: string
qna:
type: string
description: URL of the extension's Q&A page
badges:
type: array
description: List of badges to display in user interfaces
items:
$ref: '#/components/schemas/Badge'
dependencies:
type: array
description: List of dependencies to other extensions
items:
$ref: '#/components/schemas/ExtensionReference'
bundledExtensions:
type: array
description: List of extensions bundled with this extension
items:
$ref: '#/components/schemas/ExtensionReference'
downloads:
type: object
additionalProperties:
type: string
description: Map of download links by target platform
allTargetPlatformVersions:
type: array
description: Map of target platforms by extension version
items:
$ref: '#/components/schemas/VersionTargetPlatformsJson'
url:
type: string
description: version metadata URL
deprecated:
type: boolean
description: Indicates whether the extension is deprecated
replacement:
$ref: '#/components/schemas/ExtensionReplacement'
description: Reference to extension that replaces this extension when it's deprecated
downloadable:
type: boolean
description: Whether to show downloads in user interfaces
description: Metadata of an extension
required:
- name
- namespace
- namespaceDisplayName
- namespaceUrl
- publishedBy
- reviewsUrl
- timestamp
- verified
- version
ExtensionQueryParam:
type: object
description: Parameters of the extension query
properties:
filters:
type: array
description: List of query filters
items:
$ref: '#/components/schemas/Filter'
flags:
type: integer
format: int32
description: Flags to indicate what metadata to include in the query response
ExtensionQueryResult:
type: object
properties:
results:
type: array
items:
$ref: '#/components/schemas/ResultItem'
ExtensionReference:
type: object
description: A reference to another extension in the registry
properties:
url:
type: string
description: URL to get metadata of the referenced extension
namespace:
type: string
description: Namespace of the referenced extension
extension:
type: string
description: Name of the referenced extension
required:
- extension
- namespace
- url
ExtensionReplacement:
type: object
description: Metadata of an extension replacement
properties:
url:
type: string
description: URL of the extension replacement
displayName:
type: string
description: Name to be displayed in user interfaces
ExtensionsByRating:
type: object
properties:
rating:
type: integer
format: int32
extensions:
type: integer
format: int32
FileDecision:
type: object
description: File allow/block list decision
properties:
success:
type: string
description: Indicates success of the operation (omitted if a more specific result type is returned)
warning:
type: string
description: Indicates a warning; when this is present, other properties can still be used
error:
type: string
description: Indicates an error; when this is present, all other properties should be ignored
id:
type: string
description: Unique identifier for the file decision
scanId:
type: string
description: ID of the scan that originally flagged this file
fileName:
type: string
description: Path to the file within the extension
fileHash:
type: string
description: SHA256 hash of the file
fileType:
type: string
description: File extension/type
decision:
type: string
description: The admin decision for this file
decidedBy:
type: string
description: Email of the admin who made the decision
dateDecided:
type: string
description: When the decision was made (UTC)
displayName:
type: string
description: Human-readable name of the extension containing this file
namespace:
type: string
description: Extension namespace
extensionName:
type: string
description: Technical name of the extension
publisher:
type: string
description: Publisher name
version:
type: string
description: Extension version when decision was made
FileDecisionCounts:
type: object
description: Counts of allowed and blocked files
properties:
success:
type: string
description: Indicates success of the operation (omitted if a more specific result type is returned)
warning:
type: string
description: Indicates a warning; when this is present, other properties can still be used
error:
type: string
description: Indicates an error; when this is present, all other properties should be ignored
allowed:
type: integer
format: int32
description: Total count of allowed files
blocked:
type: integer
format: int32
description: Total count of blocked files
total:
type: integer
format: int32
description: Total count of all files
FileDecisionDeleteRequest:
type: object
description: Request body for deleting file decisions
properties:
fileIds:
type: array
description: List of file IDs to delete
items:
type: integer
format: int64
FileDecisionDeleteResponse:
type: object
description: Response for file decision delete operations
properties:
success:
type: string
description: Indicates success of the operation (omitted if a more specific result type is returned)
warning:
type: string
description: Indicates a warning; when this is present, other properties can still be used
error:
type: string
description: Indicates an error; when this is present, all other properties should be ignored
processed:
type: integer
format: int32
description: Total number of file IDs processed
successful:
type: integer
format: int32
description: Number of deletions completed successfully
failed:
type: integer
format: int32
description: Number of deletions that failed
results:
type: array
description: Detailed results for each file ID
items:
$ref: '#/components/schemas/FileDecisionDeleteResult'
FileDecisionDeleteResult:
type: object
description: Individual result for a file decision delete operation
properties:
fileId:
type: integer
format: int64
description: The file ID that was processed
success:
type: boolean
description: Whether the deletion was successful
error:
type: string
description: Error message if the deletion failed
FileDecisionRequest:
type: object
description: Request body for creating/updating file decisions
properties:
fileHashes:
type: array
description: List of file hashes to apply the decision to
items:
type: string
decision:
type: string
description: 'Decision to apply: ''allowed'' or ''blocked'''
FileDecisionResponse:
type: object
description: Response for file decision create/update operations
properties:
success:
type: string
description: Indicates success of the operation (omitted if a more specific result type is returned)
warning:
type: string
description: Indicates a warning; when this is present, other properties can still be used
error:
type: string
description: Indicates an error; when this is present, all other properties should be ignored
processed:
type: integer
format: int32
description: Total number of file hashes processed
example: 5
successful:
type: integer
format: int32
description: Number of decisions applied successfully
example: 4
failed:
type: integer
format: int32
description: Number of decisions that failed
example: 1
results:
type: array
description: Detailed results for each file hash
items:
$ref: '#/components/schemas/FileDecisionResult'
FileDecisionResult:
type: object
description: Individual result for a file decision create/update operation
properties:
fileHash:
type: string
description: The file hash that was processed
example: a3f5c8e9d2b1f4a6
success:
type: boolean
description: Whether the operation was successful
example: true
error:
type: string
description: Error message if the operation failed
example: File hash not found
FilesResponse:
type: object
description: Paginated list of file decisions
properties:
success:
type: string
description: Indicates success of the operation (omitted if a more specific result type is returned)
warning:
type: string
description: Indicates a warning; when this is present, other properties can still be used
error:
type: string
description: Indicates an error; when this is present, all other properties should be ignored
offset:
type: integer
format: int32
description: Number of skipped entries
minimum: 0
totalSize:
type: integer
format: int32
description: Total number of files matching the query
minimum: 0
files:
type: array
description: List of file decisions
items:
$ref: '#/components/schemas/FileDecision'
required:
- files
- offset
- totalSize
Filter:
type: object
description: Query filter
properties:
criteria:
type: array
description: List of filter criteria
items:
$ref: '#/components/schemas/Criterion'
pageNumber:
type: integer
format: int32
description: Page number
pageSize:
type: integer
format: int32
description: Maximal number of results per page
sortBy:
type: integer
format: int32
default: 0
description: Query result sort key
values:
* 0 Relevance
* 4 InstallCount
* 5 PublishedDate
*
6 AverageRating
enum:
- '0'
- '4'
- '5'
- '6'
sortOrder:
type: integer
format: int32
default: 0
description: Query result sort order
values:
* 0 Descending
* 1 Ascending
enum:
- '0'
- '1'
LoginProvidersJson:
type: object
properties:
success:
type: string
description: Indicates success of the operation (omitted if a more specific result type is returned)
warning:
type: string
description: Indicates a warning; when this is present, other properties can still be used
error:
type: string
description: Indicates an error; when this is present, all other properties should be ignored
loginProviders:
type: object
additionalProperties:
type: string
Namespace:
allOf:
- $ref: '#/components/schemas/Result'
- type: object
properties:
name:
type: string
description: Name of the namespace
extensions:
type: object
additionalProperties:
type: string
description: Map of extension names to their metadata URLs (not required for creating)
verified:
type: boolean
description: Indicates whether the namespace has an owner (not required for creating)
description: Metadata of a namespace
required:
- name
- verified
NamespaceDetails:
type: object
description: Details of a namespace
properties:
success:
type: string
description: Indicates success of the operation (omitted if a more specific result type is returned)
warning:
type: string
description: Indicates a warning; when this is present, other properties can still be used
error:
type: string
description: Indicates an error; when this is present, all other properties should be ignored
name:
type: string
description: Name of the namespace
displayName:
type: string
description: Display name of the namespace
description:
type: string
description: Description of the namespace
logo:
type: string
description: Logo URL of the namespace
website:
type: string
description: Website URL of the namespace
supportLink:
type: string
description: Support URL of the namespace
socialLinks:
type: object
additionalProperties:
type: string
description: Map of social network names to their profile URLs
extensions:
type: array
description: Map of extension names to their metadata URLs
items:
$ref: '#/components/schemas/SearchEntry'
verified:
type: boolean
description: Indicates whether the namespace has an owner
required:
- displayName
- name
- verified
NamespaceMembershipJson:
type: object
properties:
namespace:
type: string
role:
type: string
user:
$ref: '#/components/schemas/User'
NamespaceMembershipList:
type: object
description: Metadata of a namespace member list
properties:
success:
type: string
description: Indicates success of the operation (omitted if a more specific result type is returned)
warning:
type: string
description: Indicates a warning; when this is present, other properties can still be used
error:
type: string
description: Indicates an error; when this is present, all other properties should be ignored
namespaceMemberships:
type: array
description: List of memberships
items:
$ref: '#/components/schemas/NamespaceMembershipJson'
required:
- namespaceMemberships
PublisherRevocationTarget:
type: object
description: Coordinate for a publisher that should be have its' contributions revoked
properties:
loginName:
type: string
provider:
type: string
PublishersByExtensionsPublished:
type: object
properties:
extensionsPublished:
type: integer
format: int32
publishers:
type: integer
format: int32
QueryParam:
type: object
description: Parameters of the metadata query
properties:
namespaceName:
type: string
description: Name of a namespace
extensionName:
type: string
description: Name of an extension
extensionVersion:
type: string
description: Version of an extension
extensionId:
type: string
description: Identifier in the format {namespace}.{extension}
extensionUuid:
type: string
description: Universally unique identifier of an extension
namespaceUuid:
type: string
description: Universally unique identifier of a namespace
includeAllVersions:
type: boolean
description: Whether to include all versions of an extension, ignored if extensionVersion is specified
targetPlatform:
type: string
description: Name of the target platform
enum:
- win32-x64
- win32-ia32
- win32-arm64
- linux-x64
- linux-arm64
- linux-armhf
- alpine-x64
- alpine-arm64
- darwin-x64
- darwin-arm64
- web
- universal
size:
type: integer
format: int32
default: 100
description: Maximal number of entries to return
minimum: 0
offset:
type: integer
format: int32
default: 0
description: Number of entries to skip (usually a multiple of the page size)
minimum: 0
QueryResult:
allOf:
- $ref: '#/components/schemas/Result'
- type: object
properties:
offset:
type: integer
format: int32
description: Number of skipped entries according to the query
minimum: 0
totalSize:
type: integer
format: int32
description: Total number of entries that match the query
minimum: 0
extensions:
type: array
description: Extensions that match the given query (may be empty)
items:
$ref: '#/components/schemas/Extension'
description: Metadata query result
required:
- offset
- totalSize
RateLimitTokenJson:
type: object
properties:
success:
type: string
description: Indicates success of the operation (omitted if a more specific result type is returned)
warning:
type: string
description: Indicates a warning; when this is present, other properties can still be used
error:
type: string
description: Indicates an error; when this is present, all other properties should be ignored
id:
type: integer
format: int64
value:
type: string
createdTimestamp:
type: string
description:
type: string
RegistryVersion:
type: object
description: Configuration of the registry service
properties:
success:
type: string
description: Indicates success of the operation (omitted if a more specific result type is returned)
warning:
type: string
description: Indicates a warning; when this is present, other properties can still be used
error:
type: string
description: Indicates an error; when this is present, all other properties should be ignored
version:
type: string
description: Registry version
maxExtensionSize:
type: integer
format: int64
description: Maximum allowed extension package size in bytes
required:
- version
Result:
type: object
description: Generic result indicator
properties:
success:
type: string
description: Indicates success of the operation (omitted if a more specific result type is returned)
warning:
type: string
description: Indicates a warning; when this is present, other properties can still be used
error:
type: string
description: Indicates an error; when this is present, all other properties should be ignored
ResultItem:
type: object
properties:
extensions:
type: array
items:
$ref: '#/components/schemas/Extension'
resultMetadata:
type: array
items:
$ref: '#/components/schemas/ResultMetadata'
ResultMetadata:
type: object
properties:
metadataType:
type: string
metadataItems:
type: array
items:
$ref: '#/components/schemas/ResultMetadataItem'
ResultMetadataItem:
type: object
properties:
name:
type: string
count:
type: integer
format: int64
Review:
type: object
description: A review of an extension
properties:
user:
$ref: '#/components/schemas/User'
description: Data of the user who posted this review
timestamp:
type: string
description: Date and time when this review was posted (ISO-8601)
comment:
type: string
rating:
type: integer
format: int32
description: Number of stars
maximum: 5
minimum: 0
required:
- rating
- timestamp
- user
ReviewList:
allOf:
- $ref: '#/components/schemas/Result'
- type: object
properties:
reviews:
type: array
items:
$ref: '#/components/schemas/Review'
description: List of reviews of an extension
required:
- reviews
ScanDecisionRequest:
type: object
description: Request body for making security decisions on quarantined scans
properties:
scanIds:
type: array
description: List of scan IDs to apply the decision to (can be single or multiple)
items:
type: string
decision:
type: string
description: Security decision to apply to all specified scans
ScanDecisionResponse:
type: object
description: Response for security decisions on scans
properties:
success:
type: string
description: Indicates success of the operation (omitted if a more specific result type is returned)
warning:
type: string
description: Indicates a warning; when this is present, other properties can still be used
error:
type: string
description: Indicates an error; when this is present, all other properties should be ignored
processed:
type: integer
format: int32
description: Total number of scan IDs processed
successful:
type: integer
format: int32
description: Number of decisions applied successfully
failed:
type: integer
format: int32
description: Number of decisions that failed
results:
type: array
description: Detailed results for each scan ID
items:
$ref: '#/components/schemas/ScanDecisionResult'
ScanDecisionResult:
type: object
description: Individual result in a scan decision response
properties:
scanId:
type: string
description: The scan ID that was processed
success:
type: boolean
description: Whether the decision was applied successfully
error:
type: string
description: Error message if the decision failed
ScanFilterOptions:
type: object
description: Lists of unique values that can be used to filter scan results
properties:
success:
type: string
description: Indicates success of the operation (omitted if a more specific result type is returned)
warning:
type: string
description: Indicates a warning; when this is present, other properties can still be used
error:
type: string
description: Indicates an error; when this is present, all other properties should be ignored
validationTypes:
type: array
description: List of unique validation types from all scans.
items:
type: string
threatScannerNames:
type: array
description: List of unique threat scanner names.
items:
type: string
required:
- threatScannerNames
- validationTypes
ScanResult:
type: object
description: Extension scan result with status and validation details
properties:
success:
type: string
description: Indicates success of the operation (omitted if a more specific result type is returned)
warning:
type: string
description: Indicates a warning; when this is present, other properties can still be used
error:
type: string
description: Indicates an error; when this is present, all other properties should be ignored
id:
type: string
description: Unique identifier for the scan
status:
type: string
description: Current status of the scan
extensionIcon:
type: string
description: URL to extension icon
displayName:
type: string
description: Display name of the extension
namespace:
type: string
description: Extension namespace
extensionName:
type: string
description: Name of the extension
publisher:
type: string
description: Login name of the user who published the extension
publisherUrl:
type: string
description: Profile URL of the user who published the extension
version:
type: string
description: Extension version
downloadUrl:
type: string
description: URL to download the extension package
targetPlatform:
type: string
description: Target platform for the scan
universalTargetPlatform:
type: boolean
description: True if the scan target platform is universal
dateScanStarted:
type: string
description: When the scan started (UTC)
dateScanEnded:
type: string
description: When the scan completed (UTC)
dateQuarantined:
type: string
description: When the extension was quarantined (UTC)
dateRejected:
type: string
description: When the extension was auto-rejected (UTC)
adminDecision:
$ref: '#/components/schemas/AdminDecision'
description: Admin decision on quarantined extension
threats:
type: array
description: Files flagged by security scanner
items:
$ref: '#/components/schemas/Threat'
validationFailures:
type: array
description: Validation failures that caused auto-rejection
items:
$ref: '#/components/schemas/ValidationFailure'
checkResults:
type: array
description: All checks/scans that were executed (pass, fail, or skip)
items:
$ref: '#/components/schemas/CheckResult'
scannerJobs:
type: array
description: Scanner jobs for this scan with their current lifecycle state (QUEUED, PROCESSING, SUBMITTED, COMPLETE,
FAILED, REMOVED). Lets the UI surface ongoing or queued scanners without inferring their state from checkResults.
items:
$ref: '#/components/schemas/ScannerJob'
errorMessage:
type: string
description: Error message if the scan failed with an error
ScanStatistics:
type: object
description: Total counts for scan statuses and quarantine decisions
properties:
success:
type: string
description: Indicates success of the operation (omitted if a more specific result type is returned)
warning:
type: string
description: Indicates a warning; when this is present, other properties can still be used
ERROR:
type: integer
format: int64
description: Indicates an error; when this is present, all other properties should be ignored
STARTED:
type: integer
format: int64
VALIDATING:
type: integer
format: int64
SCANNING:
type: integer
format: int64
PASSED:
type: integer
format: int64
QUARANTINED:
type: integer
format: int64
AUTO_REJECTED:
type: integer
format: int64
ALLOWED:
type: integer
format: int64
BLOCKED:
type: integer
format: int64
NEEDS_REVIEW:
type: integer
format: int64
ScannerJob:
type: object
description: Lifecycle state of a scanner job for an extension scan
properties:
id:
type: string
description: Unique identifier of the scanner job
scannerType:
type: string
description: Identifies the scanner type that runs this job
status:
type: string
description: 'Current lifecycle status: QUEUED, PROCESSING, SUBMITTED, COMPLETE, FAILED, REMOVED'
createdAt:
type: string
description: When the job was created (UTC)
updatedAt:
type: string
description: When the job was last updated (UTC)
errorMessage:
type: string
description: Error message if the job failed or was removed
externalUrl:
type: string
description: Deep link to the external scanner's own dashboard for this job. Only populated for async scanners that
configure external-url-template.
SearchEntry:
type: object
description: Summary of metadata of an extension
properties:
url:
type: string
description: URL to get the full metadata of the extension
files:
type: object
additionalProperties:
type: string
description: Map of file types (download, manifest, icon, readme, license, changelog) to their respective URLs
name:
type: string
description: Name of the extension
namespace:
type: string
description: Namespace of the extension
version:
type: string
description: The latest published version
timestamp:
type: string
description: Date and time when this version was published (ISO-8601)
verified:
type: boolean
description: The value 'true' means the publishing user is a privileged user or the publishing user is a member
of the extension's namespace and the namespace has at least one owner.
allVersions:
type: array
deprecated: true
description: 'Essential metadata of all available versions. Deprecated: only returns the last 100 versions. Use
allVersionsUrl instead.'
items:
$ref: '#/components/schemas/VersionReference'
allVersionsUrl:
type: string
description: URL to get essential metadata of all available versions.
averageRating:
type: number
format: double
description: Average rating
maximum: 5
minimum: 0
reviewCount:
type: integer
format: int64
description: Number of reviews
minimum: 0
downloadCount:
type: integer
format: int32
description: Number of downloads of the extension package
minimum: 0
displayName:
type: string
description: Name to be displayed in user interfaces
description:
type: string
deprecated:
type: boolean
description: Indicates whether the extension is deprecated
required:
- files
- name
- namespace
- timestamp
- url
- verified
- version
SearchResult:
allOf:
- $ref: '#/components/schemas/Result'
- type: object
properties:
offset:
type: integer
format: int32
description: Number of skipped entries according to the search query
minimum: 0
totalSize:
type: integer
format: int32
description: Total number of entries that match the search query
minimum: 0
extensions:
type: array
description: List of matching entries, limited to the size specified in the search query
items:
$ref: '#/components/schemas/SearchEntry'
description: List of extensions matching a search query
required:
- extensions
- offset
- totalSize
StreamingResponseBody: {}
TargetPlatformActive:
type: object
description: Target platform of an extension version and whether it is active
properties:
targetPlatform:
type: string
description: Name of the target platform
enum:
- win32-x64
- win32-ia32
- win32-arm64
- linux-x64
- linux-arm64
- linux-armhf
- alpine-x64
- alpine-arm64
- darwin-x64
- darwin-arm64
- web
- universal
active:
type: boolean
description: Whether this extension version for this target platform is active
removed:
type: boolean
description: Whether this extension version for this target platform has been removed (soft-deleted)
TargetPlatformVersion:
type: object
description: Combination of target platform and version of an extension
properties:
targetPlatform:
type: string
description: Name of the target platform
enum:
- win32-x64
- win32-ia32
- win32-arm64
- linux-x64
- linux-arm64
- linux-armhf
- alpine-x64
- alpine-arm64
- darwin-x64
- darwin-arm64
- web
- universal
version:
type: string
description: Version of the extension
required:
- version
Threat:
type: object
description: Security threat detected by scanner
properties:
id:
type: string
description: Unique identifier for the threat
type:
type: string
description: Type of security scanner that flagged this file
ruleName:
type: string
description: Name of the scanner rule that triggered the detection
reason:
type: string
description: Human-readable reason for threat detection
dateDetected:
type: string
description: When the threat was detected (UTC)
fileName:
type: string
description: Path to the flagged file within the extension
fileHash:
type: string
description: SHA256 hash of the flagged file
fileExtension:
type: string
description: File extension of the flagged file
severity:
type: string
description: Severity level of the threat
enforcedFlag:
type: boolean
description: Whether this threat is enforced (affects extension status)
TierJson:
type: object
properties:
success:
type: string
description: Indicates success of the operation (omitted if a more specific result type is returned)
warning:
type: string
description: Indicates a warning; when this is present, other properties can still be used
error:
type: string
description: Indicates an error; when this is present, all other properties should be ignored
name:
type: string
description:
type: string
tierType:
type: string
capacity:
type: integer
format: int32
duration:
type: integer
format: int64
refillStrategy:
type: string
required:
- name
- refillStrategy
- tierType
TierListJson:
type: object
properties:
tiers:
type: array
items:
$ref: '#/components/schemas/TierJson'
TopMostActivePublishingUsers:
type: object
properties:
userLoginName:
type: string
publishedExtensionVersions:
type: integer
format: int32
TopMostDownloadedExtensions:
type: object
properties:
extensionIdentifier:
type: string
downloads:
type: integer
format: int64
TopNamespaceExtensionVersions:
type: object
properties:
namespace:
type: string
extensionVersions:
type: integer
format: int32
TopNamespaceExtensions:
type: object
properties:
namespace:
type: string
extensions:
type: integer
format: int32
UsageStatsJson:
type: object
properties:
windowStart:
type: integer
format: int64
duration:
type: integer
format: int64
count:
type: integer
format: int64
UsageStatsListJson:
type: object
properties:
stats:
type: array
items:
$ref: '#/components/schemas/UsageStatsJson'
dailyP95:
type: integer
format: int64
User:
type: object
description: User data
properties:
success:
type: string
description: Indicates success of the operation (omitted if a more specific result type is returned)
warning:
type: string
description: Indicates a warning; when this is present, other properties can still be used
error:
type: string
description: Indicates an error; when this is present, all other properties should be ignored
loginName:
type: string
description: Login name
fullName:
type: string
description: Full name
avatarUrl:
type: string
description: URL to the user's avatar image
homepage:
type: string
description: URL to the user's profile page
provider:
type: string
description: Authentication provider (e.g. github)
required:
- loginName
ValidationFailure:
type: object
description: Details of a validation check that failed
properties:
id:
type: string
description: Unique identifier for the validation failure
type:
type: string
description: Type of validation that failed
ruleName:
type: string
description: Specific rule name for the validation failure
reason:
type: string
description: Detailed explanation of why validation failed
dateDetected:
type: string
description: When the validation failure occurred (UTC)
enforcedFlag:
type: boolean
description: Whether this validation failure is enforced
VersionReference:
type: object
description: Essential metadata of an extension version
properties:
url:
type: string
description: URL to get the full metadata of this version
files:
type: object
additionalProperties:
type: string
description: Map of file types (download, manifest, icon, readme, license, changelog) to their respective URLs
version:
type: string
targetPlatform:
type: string
description: Name of the target platform
enum:
- win32-x64
- win32-ia32
- win32-arm64
- linux-x64
- linux-arm64
- linux-armhf
- alpine-x64
- alpine-arm64
- darwin-x64
- darwin-arm64
- web
- universal
engines:
type: object
additionalProperties:
type: string
description: Map of engine names to the respective version constraints
VersionReferences:
type: object
description: List of version references matching an extension
properties:
success:
type: string
description: Indicates success of the operation (omitted if a more specific result type is returned)
warning:
type: string
description: Indicates a warning; when this is present, other properties can still be used
error:
type: string
description: Indicates an error; when this is present, all other properties should be ignored
offset:
type: integer
format: int32
description: Number of skipped entries according to the version references request
minimum: 0
totalSize:
type: integer
format: int32
description: Total number of version references the extension has
minimum: 0
versions:
type: array
description: Essential metadata of all available versions, limited to the size specified in the version references
request
items:
$ref: '#/components/schemas/VersionReference'
required:
- offset
- totalSize
- versions
VersionTargetPlatformsJson:
type: object
properties:
version:
type: string
targetPlatforms:
type: array
items:
$ref: '#/components/schemas/TargetPlatformActive'
canDelete:
type: boolean
Versions:
type: object
description: Map of versions matching an extension
properties:
success:
type: string
description: Indicates success of the operation (omitted if a more specific result type is returned)
warning:
type: string
description: Indicates a warning; when this is present, other properties can still be used
error:
type: string
description: Indicates an error; when this is present, all other properties should be ignored
offset:
type: integer
format: int32
description: Number of skipped entries according to the versions request
minimum: 0
totalSize:
type: integer
format: int32
description: Total number of versions the extension has
minimum: 0
versions:
type: object
additionalProperties:
type: string
description: Map of versions, limited to the size specified in the versions request
required:
- offset
- totalSize
- versions