/api/public/v1/extensionsextensions.list
Extensions in this workspace's library with their state (approved, update_pending, unreviewed, rejected, disabled), the version profiles load, a version waiting for review with the permissions it adds, and where each one is assigned.
Parameters
This operation takes no input.
Examples
curl "https://browlix.com/api/public/v1/extensions" \
-H "Authorization: Bearer $BROWLIX_API_KEY"Response
200 with { data, correlation_id }.
| Field | Type | Always present | Description |
|---|---|---|---|
| data | array<object> | Yes | |
| data[].id | string (uuid) | Yes | |
| data[].name | string | Yes | |
| data[].source | "store" | "upload" | Yes | |
| data[].store_id | string | No | |
| data[].chrome_id | string | Yes | The extension ID every machine loads it under |
| data[].key_generated | boolean | Yes | Browlix created the key of an uploaded extension without one, so its ID stays the same everywhere |
| data[].state | "approved" | "update_pending" | "unreviewed" | "rejected" | "disabled" | Yes | |
| data[].revision | integer | Yes | (min -9007199254740991, max 9007199254740991) |
| data[].active_version | object | No | The version profiles load |
| data[].active_version.id | string (uuid) | Yes | |
| data[].active_version.version | string | Yes | |
| data[].active_version.name | string | Yes | |
| data[].active_version.manifest_version | integer | Yes | (min -9007199254740991, max 9007199254740991) |
| data[].active_version.sha256 | string | Yes | SHA-256 of the stored file; machines check it before loading |
| data[].active_version.size_bytes | integer | Yes | (min -9007199254740991, max 9007199254740991) |
| data[].active_version.format | "crx3" | "zip" | Yes | |
| data[].active_version.signature | "verified" | "unsigned" | Yes | verified: every CRX3 proof checked by the server; unsigned: a plain ZIP |
| data[].active_version.store_signed | boolean | Yes | Also signed by the Chrome Web Store |
| data[].active_version.permissions | array<string> | Yes | |
| data[].active_version.host_permissions | array<string> | Yes | Sites it can read and change (host permissions and content-script matches) |
| data[].active_version.optional_permissions | array<string> | Yes | |
| data[].active_version.license | string | No | Licence found in the package (SPDX id, or custom); absent when the package has no licence file |
| data[].active_version.same_version_changed | boolean | Yes | A different file under a version number already in the library |
| data[].active_version.state | "unreviewed" | "approved" | "rejected" | Yes | |
| data[].active_version.added_permissions | array<string> | No | Permissions beyond the version profiles load now (what an approval must acknowledge) |
| data[].active_version.removed_permissions | array<string> | No | |
| data[].active_version.created_at | string (date-time) | Yes | |
| data[].active_version.reviewed_at | string (date-time) | No | |
| data[].pending_version | object | No | The newest version waiting for review |
| data[].pending_version.id | string (uuid) | Yes | |
| data[].pending_version.version | string | Yes | |
| data[].pending_version.name | string | Yes | |
| data[].pending_version.manifest_version | integer | Yes | (min -9007199254740991, max 9007199254740991) |
| data[].pending_version.sha256 | string | Yes | SHA-256 of the stored file; machines check it before loading |
| data[].pending_version.size_bytes | integer | Yes | (min -9007199254740991, max 9007199254740991) |
| data[].pending_version.format | "crx3" | "zip" | Yes | |
| data[].pending_version.signature | "verified" | "unsigned" | Yes | verified: every CRX3 proof checked by the server; unsigned: a plain ZIP |
| data[].pending_version.store_signed | boolean | Yes | Also signed by the Chrome Web Store |
| data[].pending_version.permissions | array<string> | Yes | |
| data[].pending_version.host_permissions | array<string> | Yes | Sites it can read and change (host permissions and content-script matches) |
| data[].pending_version.optional_permissions | array<string> | Yes | |
| data[].pending_version.license | string | No | Licence found in the package (SPDX id, or custom); absent when the package has no licence file |
| data[].pending_version.same_version_changed | boolean | Yes | A different file under a version number already in the library |
| data[].pending_version.state | "unreviewed" | "approved" | "rejected" | Yes | |
| data[].pending_version.added_permissions | array<string> | No | Permissions beyond the version profiles load now (what an approval must acknowledge) |
| data[].pending_version.removed_permissions | array<string> | No | |
| data[].pending_version.created_at | string (date-time) | Yes | |
| data[].pending_version.reviewed_at | string (date-time) | No | |
| data[].versions_count | integer | Yes | (min -9007199254740991, max 9007199254740991) |
| data[].assignments | array<object> | Yes | |
| data[].assignments[].id | string (uuid) | Yes | |
| data[].assignments[].target_kind | "workspace" | "group" | "profile" | Yes | |
| data[].assignments[].group_id | string (uuid) | No | |
| data[].assignments[].profile_id | string (uuid) | No | |
| data[].assignments[].target_name | string | No | |
| data[].assignments[].hidden | boolean | No | The group or profile is outside your group scope: it is not named |
| data[].assignments[].required | boolean | Yes | |
| data[].profiles_reached | integer | Yes | Active profiles at least one assignment reaches (min -9007199254740991, max 9007199254740991) |
| data[].created_at | string (date-time) | Yes | |
| data[].updated_at | string (date-time) | Yes | |
| correlation_id | string (uuid) | Yes | |
| can_manage | boolean | No | |
| can_approve | boolean | No |
Errors
| Code | HTTP | Retryable |
|---|---|---|
| UNAUTHENTICATED | 401 | No |
| FORBIDDEN | 403 | No |
| RATE_LIMITED | 429 | Yes |
| DEPENDENCY_UNAVAILABLE | 503 | Yes |
| UNKNOWN | 500 | No |
