# Get plugin by ID

`GET /api/plugins/{id}`

Retrieves detailed information about a specific plugin by its UUID.

Authentication: no security requirement declared for this operation.

Parameters:

- `id` (path, string, uuid, required) - UUID of the plugin to retrieve
  Type: string, uuid

- `where` (query, object, optional) - Conditions to find a specific plugin
  Type: object
  
  Schema: [Object](https://sourcey-gauzy.pages.dev/api-reference/models/object/index.md)

- `relations` (query, array, optional) - Entity relations to include in the response
  Type: array
  
  Example:
  
  ```json
  [
    "organization",
    "tenant"
  ]
  ```
  
  Items:
    Type: string

- `select` (query, array, optional) - Fields to select from the plugin entity
  Type: array
  
  Example:
  
  ```json
  [
    "id",
    "name",
    "version",
    "enabled"
  ]
  ```
  
  Items:
    Type: string

- `order` (query, unknown, optional) - Order by fields
  Type: unknown
  
  Example:
  
  ```json
  {
    "name": "createdAt",
    "version": "DESC"
  }
  ```
  
  allOf:
    Reference: [Object](https://sourcey-gauzy.pages.dev/api-reference/models/object/index.md); Type: object

- `withDeleted` (query, boolean, optional) - Include soft deleted records
  Type: boolean
  
  default: false

- `loadEagerRelations` (query, boolean, optional) - Load eager relations automatically
  Type: boolean
  
  default: false

Responses:

- 200: Plugin retrieved successfully.

Content type: application/json

Type: object

Schema: [Plugin_1](https://sourcey-gauzy.pages.dev/api-reference/models/plugin-1/index.md)

- `deletedAt` (optional)
  Type: string, date-time
  
  Example:
  
  ```json
  "2018-11-21T06:20:32.232Z"
  ```

- `createdAt` (optional)
  Type: string, date-time
  
  The creation timestamp of the entity.
  
  Example:
  
  ```json
  "2018-11-21T06:20:32.232Z"
  ```

- `updatedAt` (optional)
  Type: string, date-time
  
  The last update timestamp of the entity.
  
  Example:
  
  ```json
  "2018-11-21T06:20:32.232Z"
  ```

- `id` (optional)
  Type: string

- `isActive` (optional)
  Type: boolean
  
  Plugin is active or not
  
  default: false

- `isArchived` (optional)
  Type: boolean
  
  default: false

- `archivedAt` (optional)
  Type: string, date-time
  
  Example:
  
  ```json
  "2018-11-21T06:20:32.232Z"
  ```

- `name` (required)
  Type: string
  
  Plugin name

- `description` (optional)
  Type: string
  
  Plugin description

- `type` (required)
  Type: string
  
  Type of the plugin
  
  enum: ["DESKTOP","WEB","MOBILE"]

- `status` (required)
  Type: string
  
  Status of the plugin
  
  enum: ["ACTIVE","INACTIVE","DEPRECATED","ARCHIVED"]

- `categoryId` (optional)
  Type: string
  
  Plugin category ID

- `category` (optional)
  Type: object
  
  Plugin category

- `versions` (required)
  Type: array
  
  Versions of the plugin
  
  Items:
    Type: string

- `author` (optional)
  Type: string
  
  Plugin author

- `license` (optional)
  Type: string
  
  Plugin license

- `homepage` (optional)
  Type: string
  
  Homepage URL

- `repository` (optional)
  Type: string
  
  Repository URL

- `uploadedBy` (optional)
  Type: unknown
  
  User who uploaded the plugin
  
  allOf:
    Reference: [User](https://sourcey-gauzy.pages.dev/api-reference/models/user/index.md); Type: object

- `uploadedAt` (optional)
  Type: string, date-time
  
  Upload date

- `requiresSubscription` (required)
  Type: boolean
  
  Is subscription plan enabled
  
  default: false

- `isFeatured` (required)
  Type: boolean
  
  Whether the plugin is featured
  
  default: false

- `isVerified` (required)
  Type: boolean
  
  Whether the plugin is verified by Gauzy
  
  default: false

- `lastDownloadedAt` (optional)
  Type: string, date-time
  
  Last downloaded date

- `pluginTenants` (optional)
  Type: array
  
  Plugin tenants for this plugin
  
  Items:
    Type: string

- `settings` (optional)
  Type: array
  
  Plugin settings
  
  Items:
    Type: string

- `subscriptions` (optional)
  Type: array
  
  Plugin subscriptions
  
  Items:
    Type: string

- `subscriptionPlans` (optional)
  Type: array
  
  Plugin subscription plans
  
  Items:
    Type: string

- `pluginTags` (optional)
  Type: array
  
  Plugin tag relationships
  
  Items:
    Type: string

- 400: Invalid input provided. Check the response body for error details.

- 401: Unauthorized access.

- 404: Plugin record not found.

## Examples

### cURL

```bash
curl -X GET 'http://localhost:3000/api/plugins/550e8400-e29b-41d4-a716-446655440000?withDeleted=false&loadEagerRelations=false'
```

### JavaScript

```javascript
const response = await fetch('http://localhost:3000/api/plugins/550e8400-e29b-41d4-a716-446655440000?withDeleted=false&loadEagerRelations=false', {
  method: 'GET',
});

const data = await response.text();
```

### Python

```python
import requests

response = requests.get('http://localhost:3000/api/plugins/550e8400-e29b-41d4-a716-446655440000?withDeleted=false&loadEagerRelations=false')
print(response.text)
```
