---
title: "Creates a plugin setting"
method: POST
path: "/agency/{agency_id}/plugin-setting"
tags: ["Plugin Setting"]
---

# Creates a plugin setting

`POST /agency/{agency_id}/plugin-setting`

Creates a setting for the plugin that will be applied to a resource

## Request body

- PluginSettingRequest
  - `plugin_type` 'candidate' | 'agencyGroupCandidate' | 'agency' | 'agencyGroup', required — The type of plugin being created
  - `resource_type` 'candidate' | 'user', required — The type of resource for which the plugin will be created
  - `client_id` string — The client id
  - `setting` Setting, required
    - `plugin_name` string, required — The name of the plugin for which the setting is being created
    - `menu_icon` string, required — The icon that will be displayed for the plugin menu item
    - `menu_icon_selected` string, required — The icon that will be displayed for the plugin menu item when it is selected
    - `menu_label` string, required — The label for them plugin menu item
    - `overview_url` string — The url pointing to the Overview resource of the plugin
    - `form_url` string — The url pointing to the Form resource of the plugin
    - `additional_settings` object — This is a free form object that has additional settings info like supported_statuses, supported_types etc

## Response `200`

Success response that the plugin setting has been created

- PluginSettingResponse
  - `_id` string, required
  - `updated_at` string, date-time, required
  - `created_at` string, date-time, required
  - `__v` integer, required
  - `owner` Owner, required
    - `owner_id` string, required — The id of the resource that creates the plugin setting
    - `owner_type` string, required — The name of the resource that creates the plugin setting
  - `setting` Setting, required
    - `plugin_name` string, required — The name of the plugin for which the setting is being created
    - `menu_icon` string, required — The icon that will be displayed for the plugin menu item
    - `menu_icon_selected` string, required — The icon that will be displayed for the plugin menu item when it is selected
    - `menu_label` string, required — The label for them plugin menu item
    - `overview_url` string — The url pointing to the Overview resource of the plugin
    - `form_url` string — The url pointing to the Form resource of the plugin
    - `additional_settings` object — This is a free form object that has additional settings info like supported_statuses, supported_types etc
  - `plugin_type` 'candidate' | 'agencyGroupCandidate' | 'agency' | 'agencyGroup', required — The type of plugin being created
  - `resource_type` 'candidate' | 'user', required — The type of resource for which the plugin will be created
  - `client_id` string — The client id

## Other responses

- `400` — Validation error on post
- `401` — Failed to authenticate the user making the request
- `403` — Permission denied error
- `405` — Method not supported. Returned if an unsupported http method is used.
- `406` — Client error validation definition
- `default` — Server error occurred

---

[API](https://skmtc.dev/staffshift/apis/staffshift-api-gateway.md) · [All operations](https://skmtc.dev/staffshift/apis/staffshift-api-gateway/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/staffshift/staffshift-api-gateway/revisions/6e2cb83db3a9/schema)
