- POST
/v1/extension-upload
- Required API key capability:
extensions.create
You must be an admin to publish an extension to your organization.
Publish a new Foxglove Studio extension, or an updated version of an existing extension. When an extension is uploaded, it will be automatically installed for users in your organization.
You'll first need to create an extension with our packaging tool — see create-foxglove-extension
for more information.
Read the docs for more information on Foxglove Studio extensions.
Request
The request headers must contain Content-Type: application/octet-stream
.
The request body must contain the contents of your (.foxe
) extension file.
All other information about the extension will be parsed from the package.json
file.
package.json
requirements
An extension is uniquely identified by its publisher and name, which are both required in your package.json
. Both values are case-insensitive, so a package named custompanel
would be the same as one named CustomPanel
.
To update an extension, change its version
in package.json
, create a new .foxe
bundle, and upload it via this endpoint. Version numbers must be unique to each extension. There are no other restrictions on versioning schemes.
To publish an extension to your organization, your package.json
must define a displayName
. This is displayed to Studio users in your organization.
Once an extension is uploaded, its displayName
may not be changed by future versions.
Response
The API will return a status code of 200 if successful.
- GET
/v1/extensions/
- Required API key capability:
extensions.list
List Foxglove Studio extensions for your organization.
Response
An array of extension metadata, each of which includes the following fields:
field | type | description |
---|
id | string | Assigned by backend |
name | string | Name as it appears in your package.json |
publisher | string | Publisher as it appears in your package.json |
displayName | string | Display name as it appears in your package.json |
description | string , null | Description as it appears in the active version's package.json |
activeVersion | string , null | Version string as it appears in the active version's package.json |
sha256Sum | string , null | SHA-256 sum of the active version contents, encoded as hex |
- DELETE
/v1/extensions/{extensionId}
- Required API key capability:
extensions.delete
You must be an admin to delete an extension from your organization.
Delete an extension from your organization.
Path params
field | type | required | description |
---|
extensionId | string | ✓ | ID assigned by backend |
Response
The API will return a status code of 200 if successful.