---
title: "Get a plugin"
method: GET
path: "/plugins/{pluginId}"
tags: ["Plugins"]
---

# Get a plugin

`GET /plugins/{pluginId}`

Returns the plugin.

## Path parameters

- `pluginId` string, uuid, required

## Response `200`

When request is successful. Returns a 'Plugin' object.

- Plugin
  - `id` string, nullable
  - `href` string, nullable
  - `relation` string, nullable
  - `method` string, nullable
  - `self` Link
    - `id` string, nullable
    - `href` string, nullable
    - `relation` string, nullable
    - `method` string, nullable
  - `externalId` string, nullable — Optional id provided by the external system that owns this plugin.
  - `application` 'Native' | 'Web' | 'Archie' — The application that the plugin should be rendered in.
  - `type` 'Button' | 'Tab' — The type of component the plugin should represent.
  - `version` PluginVersion
    - `id` string, nullable — Unique identifier of the plugin version.
    - `pluginId` string, nullable — The plugin id this version is associated to.
    - `versionNumber` integer — The associated version number.
    - `name` string, nullable — The name of the plugin.
    - `description` string, nullable — A description of the plugin.
    - `placement` string, nullable — A placement key representing where the plugin should be rendered in the UI. Placement key must correspond to the type of the plugin. Refer to documentation for valid placement keys.
    - `requestEndpointUrl` string, nullable — The url that is called to request the plugin endpoint. When a user views a plugin, we request the url to view securely through your backend. Matter and user information is passed to the endpoint through POST body, and the endpoint is expected to return a JSON object containing a url field. The plugin will then load the URL and display it to the user.
    - `attributes` PluginAttributes
      - `text` string, nullable — The text to be rendered on the plugin component (where applicable).
      - `icon` string, nullable — The Icon to be rendered on the plugin component (where applicable). Refer to documentation for a full list of icons.
      - `color` string, nullable — The hex color code to be rendered on the plugin component (where applicable).
      - `tooltip` string, nullable — Optional: The tooltip to display on component hover (where applicable).
      - `page` PluginPage
        - `title` string, nullable — Optional: The title of the page rendered by the plugin (where applicable). If not specified, the name of the plugin will be used.
        - `width` integer — Optional: The width of the page rendered by the plugin (where applicable). If not specified, a default width will be used.
        - `height` integer — Optional: The height of the page rendered by the plugin (where applicable). If not specified, a default width will be used.
        - `useDefaultBrowser` boolean — Optional: Override browser behavior. When true, loads the endpoint in the internal browser (where applicable).
    - `availability` PluginAvailability
      - `matterTypeIds` string[], nullable — Optional matter types applicable for the plugin. Plugin is applicable for all matter types if this is left empty.
    - `createdDate` string, date-time — Plugin version created date in UTC
    - `lastUpdatedDate` string, date-time — Plugin version last updated date in UTC
  - `lastUpdated` integer — Last updated timestamp.
  - `createdDate` string, date-time — Plugin created date in UTC.
  - `lastUpdatedDate` string, date-time — Plugin last updated date in UTC.
  - `key` string, nullable — Signing key of the plugin to verify integrity of requesting secure URLs.
  - `additionalData` object, nullable — Collection of plugin meta data as KeyValuePair(string, object).

## Other responses

- `404` — When plugin with specified id does not exist.

---

[API](https://skmtc.net/smokeball/apis/api.md) · [All operations](https://skmtc.net/smokeball/apis/api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/smokeball/api/revisions/197984da9b42/schema)
