# NewPluginInput

input type

Create-input for a Plugin declaration. The tenant (org group) is derived SERVER-SIDE from the principal; an apiKeyId, when supplied, is tenant-scoped + un-doomed server-side (STRICT).

## Fields

| Field | Type | Required | Notes |
| --- | --- | --- | --- |
| `caption` | [String](/types/#scalars) | no | Optional: when omitted the per-type default applies — 'plugin by <developerName>' when given, else 'plugin'; when supplied it must be non-blank. |
| `developerName` | [String](/types/#scalars) | no | No further notes. |
| `homepageUrl` | [String](/types/#scalars) | no | No further notes. |
| `requiredScopes` | [RoleDescriptorInput](/types/RoleDescriptorInput/) `[RoleDescriptorInput!]` | no | The declared allow-only scope set; omitted = none (a webhook-only plugin). |
| `apiKeyId` | [ID](/types/#scalars) | no | No further notes. |

## Used by

- [createPlugin](/reference/plugin/createPlugin/)
