# ProjectChannel

A ProjectChannel is a destination where Notifications are delivered. Notifications are generated via the Protocol set by each Project.

> **Package : spaceone.api.notification.v1**

\
\


## ProjectChannel

**ProjectChannel Methods:**

| Method                                                                                                                                             | Request                                                                                                                                                                                     | Response                                                                                                                                            |
| -------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
| [**create**](https://github.com/cloudforet-io/api-doc/blob/master/content/en/notification/v1/ProjectChannel/README.md#create)                      | [CreateProjectChannelRequest](https://github.com/cloudforet-io/api-doc/blob/master/content/en/notification/v1/ProjectChannel/README.md#createprojectchannelrequest)                         | [ProjectChannelInfo](https://github.com/cloudforet-io/api-doc/blob/master/content/en/notification/v1/ProjectChannel/README.md#projectchannelinfo)   |
| [**update**](https://github.com/cloudforet-io/api-doc/blob/master/content/en/notification/v1/ProjectChannel/README.md#update)                      | [UpdateProjectChannelRequest](https://github.com/cloudforet-io/api-doc/blob/master/content/en/notification/v1/ProjectChannel/README.md#updateprojectchannelrequest)                         | [ProjectChannelInfo](https://github.com/cloudforet-io/api-doc/blob/master/content/en/notification/v1/ProjectChannel/README.md#projectchannelinfo)   |
| [**set\_schedule**](https://github.com/cloudforet-io/api-doc/blob/master/content/en/notification/v1/ProjectChannel/README.md#set_schedule)         | [UpdateProjectChannelScheduleRequest](https://github.com/cloudforet-io/api-doc/blob/master/content/en/notification/v1/ProjectChannel/README.md#updateprojectchannelschedulerequest)         | [ProjectChannelInfo](https://github.com/cloudforet-io/api-doc/blob/master/content/en/notification/v1/ProjectChannel/README.md#projectchannelinfo)   |
| [**set\_subscription**](https://github.com/cloudforet-io/api-doc/blob/master/content/en/notification/v1/ProjectChannel/README.md#set_subscription) | [UpdateProjectChannelSubscriptionRequest](https://github.com/cloudforet-io/api-doc/blob/master/content/en/notification/v1/ProjectChannel/README.md#updateprojectchannelsubscriptionrequest) | [ProjectChannelInfo](https://github.com/cloudforet-io/api-doc/blob/master/content/en/notification/v1/ProjectChannel/README.md#projectchannelinfo)   |
| [**enable**](https://github.com/cloudforet-io/api-doc/blob/master/content/en/notification/v1/ProjectChannel/README.md#enable)                      | [ProjectChannelRequest](https://github.com/cloudforet-io/api-doc/blob/master/content/en/notification/v1/ProjectChannel/README.md#projectchannelrequest)                                     | [ProjectChannelInfo](https://github.com/cloudforet-io/api-doc/blob/master/content/en/notification/v1/ProjectChannel/README.md#projectchannelinfo)   |
| [**disable**](https://github.com/cloudforet-io/api-doc/blob/master/content/en/notification/v1/ProjectChannel/README.md#disable)                    | [ProjectChannelRequest](https://github.com/cloudforet-io/api-doc/blob/master/content/en/notification/v1/ProjectChannel/README.md#projectchannelrequest)                                     | [ProjectChannelInfo](https://github.com/cloudforet-io/api-doc/blob/master/content/en/notification/v1/ProjectChannel/README.md#projectchannelinfo)   |
| [**delete**](https://github.com/cloudforet-io/api-doc/blob/master/content/en/notification/v1/ProjectChannel/README.md#delete)                      | [ProjectChannelRequest](https://github.com/cloudforet-io/api-doc/blob/master/content/en/notification/v1/ProjectChannel/README.md#projectchannelrequest)                                     | [Empty](https://github.com/cloudforet-io/api-doc/blob/master/content/en/notification/v1/ProjectChannel/README.md#empty)                             |
| [**get**](https://github.com/cloudforet-io/api-doc/blob/master/content/en/notification/v1/ProjectChannel/README.md#get)                            | [ProjectChannelRequest](https://github.com/cloudforet-io/api-doc/blob/master/content/en/notification/v1/ProjectChannel/README.md#projectchannelrequest)                                     | [ProjectChannelInfo](https://github.com/cloudforet-io/api-doc/blob/master/content/en/notification/v1/ProjectChannel/README.md#projectchannelinfo)   |
| [**list**](https://github.com/cloudforet-io/api-doc/blob/master/content/en/notification/v1/ProjectChannel/README.md#list)                          | [ProjectChannelQuery](https://github.com/cloudforet-io/api-doc/blob/master/content/en/notification/v1/ProjectChannel/README.md#projectchannelquery)                                         | [ProjectChannelsInfo](https://github.com/cloudforet-io/api-doc/blob/master/content/en/notification/v1/ProjectChannel/README.md#projectchannelsinfo) |
| [**stat**](https://github.com/cloudforet-io/api-doc/blob/master/content/en/notification/v1/ProjectChannel/README.md#stat)                          | [ProjectChannelStatQuery](https://github.com/cloudforet-io/api-doc/blob/master/content/en/notification/v1/ProjectChannel/README.md#projectchannelstatquery)                                 | [Struct](https://github.com/cloudforet-io/api-doc/blob/master/content/en/notification/v1/ProjectChannel/README.md#struct)                           |

\


### create

Creates a new ProjectChannel. ProjectChannel is a channel that delivers a Notification to the Project when the Notification is created. When creating a ProjectChannel, one Protocol must be selected, and a Notification is dispatched via the selected Protocol.

> **POST** /notification/v1/project-channel/create

\{{< tabs " create " >\}}

\{{< tab "Request Example" >\}}

[CreateProjectChannelRequest](https://github.com/cloudforet-io/api-doc/blob/master/content/en/notification/v1/ProjectChannel/README.md#createprojectchannelrequest)

*   **protocol\_id** (string) `Required`

    _The ID of protocol that will be set in project channel._
*   **name** (string) `Required`

    _The name of Project Channel. It can have a maximum of 255 characters._
*   **data** (Struct) `Required`

    _The data for using project channel. This data is encrypted and stored in the Secret service if JSON schema in the protocol's metadata is set to SECRET type. In this case, the secret ID that is stored in the security service will be returned and the data value will be empty. if JSON schema in the protocol's metadata is set to PLAIN\_TEXT type, This data is not encrypted and stored directly in the DB._
*   **project\_id** (string) `Required`

    _The ID of project to which the project channel belongs._
*   **is\_subscribe** (bool)

    _Indicates whether subscriptions will be used._
*   **subscriptions** (string) `Repeated`

    _When using subscriptions, it indicates the topic list to subscription. If is\_subscribe is set to false, this value is ignored._
*   **notification\_level** (NotificationLevel)

    _Set the level of notification. If a notification has a level and a notification level that this channel can receive is set, a notification is dispatched only if the notification level is the same._
*   **is\_scheduled** (bool)

    _Indicates whether schedule will be used._
*   **schedule** (ProjectChannelSchedule)

    _Schedule for which you want to receive notifications through the project channel._
*   **tags** (Struct)

    _The tags for project channel._

\{{< highlight json >\}} { "protocol\_id": "protocol-ab94ea7d574e", "name": "sms-test", "data": { "phone\_number": "01011112222" }, "is\_subscribe": true, "subscriptions": \["monitoring.Alert"], "notification\_level": "LV1", "is\_scheduled": true, "schedule": { "day\_of\_week": \[ "MON", "TUE", "WED", "THU", "FRI" ], "end\_hour": 9 }, "project\_id": "project-52a423012d5e" } \{{< /highlight >\}} \{{< /tab >\}}

\{{< tab "Response Example" >\}}

[ProjectChannelInfo](#PROJECTCHANNELINFO)

*   **project\_channel\_id** (string) `Required`

    The ID of project channel.
*   **name** (string) `Required`

    The name of project channel
*   **state** (ProjectChannelState) `Required`

    The state of project channel. ENABLED or DISABLED only.
*   **data** (Struct) `Required`

    The data for using project channel.
*   **is\_subscribe** (bool) `Required`

    Indicates whether subscriptions will be used.
*   **subscriptions** (string) `Repeated` `Required`

    The topic list to subscription.
*   **is\_scheduled** (bool) `Required`

    Indicates whether schedule will be used.
*   **schedule** (ProjectChannelSchedule) `Required`

    Schedule for which you want to receive notifications through the project channel.
*   **notification\_level** (NotificationLevel) `Required`

    Set the level of notification.
*   **tags** (Struct) `Required`

    The tags for project channel.
*   **domain\_id** (string) `Required`

    The ID of domain.
*   **workspace\_id** (string) `Required`

    The ID of workspace
*   **project\_id** (string) `Required`

    The ID of project to which the project channel belongs.
*   **protocol\_id** (string) `Required`

    The ID of protocol set in the project channel.
*   **secret\_id** (string) `Required`

    The ID of secret encrypted data in the security service
*   **created\_at** (string) `Required`

    Project channel creation time.

\{{< highlight json >\}} { "project\_channel\_id": "project-ch-488df94d026d", "name": "sms-test", "state": "ENABLED", "data": { "phone\_number": "01011112222" }, "notification\_level": "LV1", "tags": {}, "protocol\_id": "protocol-ab94ea7d574e", "project\_id": "project-aa723eed3d69", "workspace\_id": "workspace-123456789012" "domain\_id": "domain-58010aa2e451", "created\_at": "2022-06-13T07:35:28.305Z" } \{{< /highlight >\}} \{{< /tab >\}}

\{{< /tabs >\}}

\


### update

Updates a specific ProjectChannel. A ProjectChannel that has already been configured cannot be changed. Instead, the data required for dispatching Notifications to a ProjectChannel can be updated.

> **POST** /notification/v1/project-channel/update

\{{< tabs " update " >\}}

\{{< tab "Request Example" >\}}

[UpdateProjectChannelRequest](https://github.com/cloudforet-io/api-doc/blob/master/content/en/notification/v1/ProjectChannel/README.md#updateprojectchannelrequest)

*   **project\_channel\_id** (string) `Required`

    _The ID of project channel._
*   **domain\_id** (string) `Required`

    _The ID of domain._
*   **name** (string)

    _The name of Project Channel. It can have a maximum of 255 characters._
*   **data** (Struct)

    _The data for using project channel. This data is encrypted and stored in the Secret service if JSON schema in the protocol's metadata is set to SECRET type. In this case, the secret ID that is stored in the security service will be returned and the data value will be empty. if JSON schema in the protocol's metadata is set to PLAIN\_TEXT type, This data is not encrypted and stored directly in the DB._
*   **notification\_level** (NotificationLevel)

    _Set the level of notification. If a notification has a level and a notification level that this channel can receive is set, a notification is dispatched only if the notification level is the same._
*   **tags** (Struct)

    _The tags for project channel._

\{{< highlight json >\}} { "project\_channel\_id": "project-ch-488df94d026d", "name": "sms2-test", "data": { "phone\_number": "01033334444" }, "notification\_level": "LV2", "tags": { "a": "b" } } \{{< /highlight >\}} \{{< /tab >\}}

\{{< tab "Response Example" >\}}

[ProjectChannelInfo](#PROJECTCHANNELINFO)

*   **project\_channel\_id** (string) `Required`

    The ID of project channel.
*   **name** (string) `Required`

    The name of project channel
*   **state** (ProjectChannelState) `Required`

    The state of project channel. ENABLED or DISABLED only.
*   **data** (Struct) `Required`

    The data for using project channel.
*   **is\_subscribe** (bool) `Required`

    Indicates whether subscriptions will be used.
*   **subscriptions** (string) `Repeated` `Required`

    The topic list to subscription.
*   **is\_scheduled** (bool) `Required`

    Indicates whether schedule will be used.
*   **schedule** (ProjectChannelSchedule) `Required`

    Schedule for which you want to receive notifications through the project channel.
*   **notification\_level** (NotificationLevel) `Required`

    Set the level of notification.
*   **tags** (Struct) `Required`

    The tags for project channel.
*   **domain\_id** (string) `Required`

    The ID of domain.
*   **workspace\_id** (string) `Required`

    The ID of workspace
*   **project\_id** (string) `Required`

    The ID of project to which the project channel belongs.
*   **protocol\_id** (string) `Required`

    The ID of protocol set in the project channel.
*   **secret\_id** (string) `Required`

    The ID of secret encrypted data in the security service
*   **created\_at** (string) `Required`

    Project channel creation time.

\{{< highlight json >\}} { "project\_channel\_id": "project-ch-488df94d026d", "name": "sms-test", "state": "ENABLED", "data": { "phone\_number": "01011112222" }, "notification\_level": "LV1", "tags": {}, "protocol\_id": "protocol-ab94ea7d574e", "project\_id": "project-aa723eed3d69", "workspace\_id": "workspace-123456789012" "domain\_id": "domain-58010aa2e451", "created\_at": "2022-06-13T07:35:28.305Z" } \{{< /highlight >\}} \{{< /tab >\}}

\{{< /tabs >\}}

\


### set\_schedule

Sets a schedule for a ProjectChannel. A schedule defines the time to receive a Notification. When a Notification is created, you can set the day of the week and time you want to receive it. When you set the day of the week, you can receive a notification only on the day of the week you set. If you also set the start time and end time with the day of the week, you can receive a Notification only at the scheduled time on the day of the week you set. If there is no schedule set in a ProjectChannel, Notifications will be dispatched at all times via the ProjectChannel.

> **POST** /notification/v1/project-channel/set-schedule

\{{< tabs " set\_schedule " >\}}

\{{< tab "Request Example" >\}}

[UpdateProjectChannelScheduleRequest](https://github.com/cloudforet-io/api-doc/blob/master/content/en/notification/v1/ProjectChannel/README.md#updateprojectchannelschedulerequest)

*   **project\_channel\_id** (string) `Required`

    _The ID of project channel._
*   **is\_scheduled** (bool) `Required`

    _Indicates whether schedule will be used._
*   **schedule** (ProjectChannelSchedule)

    _Schedule for which you want to receive notifications through the project channel._

\{{< highlight json >\}} { "project\_channel\_id": "project-ch-488df94d026d", "is\_scheduled": true, "schedule": { "day\_of\_week": \[ "MON", "WED", "FRI" ], "end\_hour": 9 } } \{{< /highlight >\}} \{{< /tab >\}}

\{{< tab "Response Example" >\}}

[ProjectChannelInfo](#PROJECTCHANNELINFO)

*   **project\_channel\_id** (string) `Required`

    The ID of project channel.
*   **name** (string) `Required`

    The name of project channel
*   **state** (ProjectChannelState) `Required`

    The state of project channel. ENABLED or DISABLED only.
*   **data** (Struct) `Required`

    The data for using project channel.
*   **is\_subscribe** (bool) `Required`

    Indicates whether subscriptions will be used.
*   **subscriptions** (string) `Repeated` `Required`

    The topic list to subscription.
*   **is\_scheduled** (bool) `Required`

    Indicates whether schedule will be used.
*   **schedule** (ProjectChannelSchedule) `Required`

    Schedule for which you want to receive notifications through the project channel.
*   **notification\_level** (NotificationLevel) `Required`

    Set the level of notification.
*   **tags** (Struct) `Required`

    The tags for project channel.
*   **domain\_id** (string) `Required`

    The ID of domain.
*   **workspace\_id** (string) `Required`

    The ID of workspace
*   **project\_id** (string) `Required`

    The ID of project to which the project channel belongs.
*   **protocol\_id** (string) `Required`

    The ID of protocol set in the project channel.
*   **secret\_id** (string) `Required`

    The ID of secret encrypted data in the security service
*   **created\_at** (string) `Required`

    Project channel creation time.

\{{< highlight json >\}} { "project\_channel\_id": "project-ch-488df94d026d", "name": "sms-test", "state": "ENABLED", "data": { "phone\_number": "01011112222" }, "notification\_level": "LV1", "tags": {}, "protocol\_id": "protocol-ab94ea7d574e", "project\_id": "project-aa723eed3d69", "workspace\_id": "workspace-123456789012" "domain\_id": "domain-58010aa2e451", "created\_at": "2022-06-13T07:35:28.305Z" } \{{< /highlight >\}} \{{< /tab >\}}

\{{< /tabs >\}}

\


### set\_subscription

Sets a subscription for a ProjectChannel. A subscription is a topic for channels to subscribe to and get notified about. If a ProjectChannel has subscriptions, a Notification is dispatched only if the topic of the Notification is the same as the one set in the subscriptions. If there is no subscription in a ProjectChannel, all Notifications will be dispatched.

> **POST** /notification/v1/project-channel/set-subscription

\{{< tabs " set\_subscription " >\}}

\{{< tab "Request Example" >\}}

[UpdateProjectChannelSubscriptionRequest](https://github.com/cloudforet-io/api-doc/blob/master/content/en/notification/v1/ProjectChannel/README.md#updateprojectchannelsubscriptionrequest)

*   **project\_channel\_id** (string) `Required`

    _The ID of project channel._
*   **is\_subscribe** (bool) `Required`

    _Indicates whether subscriptions will be used._
*   **subscriptions** (string) `Repeated`

    _When using subscriptions, it indicates the topic list to subscription. If is\_subscribe is set to false, this value is ignored._

\{{< highlight json >\}} { "project\_channel\_id": "project-ch-cff007433a23", "is\_subscribe": true, "subscriptions": \[ "monitoring.Alert" ] } \{{< /highlight >\}} \{{< /tab >\}}

\{{< tab "Response Example" >\}}

[ProjectChannelInfo](#PROJECTCHANNELINFO)

*   **project\_channel\_id** (string) `Required`

    The ID of project channel.
*   **name** (string) `Required`

    The name of project channel
*   **state** (ProjectChannelState) `Required`

    The state of project channel. ENABLED or DISABLED only.
*   **data** (Struct) `Required`

    The data for using project channel.
*   **is\_subscribe** (bool) `Required`

    Indicates whether subscriptions will be used.
*   **subscriptions** (string) `Repeated` `Required`

    The topic list to subscription.
*   **is\_scheduled** (bool) `Required`

    Indicates whether schedule will be used.
*   **schedule** (ProjectChannelSchedule) `Required`

    Schedule for which you want to receive notifications through the project channel.
*   **notification\_level** (NotificationLevel) `Required`

    Set the level of notification.
*   **tags** (Struct) `Required`

    The tags for project channel.
*   **domain\_id** (string) `Required`

    The ID of domain.
*   **workspace\_id** (string) `Required`

    The ID of workspace
*   **project\_id** (string) `Required`

    The ID of project to which the project channel belongs.
*   **protocol\_id** (string) `Required`

    The ID of protocol set in the project channel.
*   **secret\_id** (string) `Required`

    The ID of secret encrypted data in the security service
*   **created\_at** (string) `Required`

    Project channel creation time.

\{{< highlight json >\}} { "project\_channel\_id": "project-ch-488df94d026d", "name": "sms-test", "state": "ENABLED", "data": { "phone\_number": "01011112222" }, "notification\_level": "LV1", "tags": {}, "protocol\_id": "protocol-ab94ea7d574e", "project\_id": "project-aa723eed3d69", "workspace\_id": "workspace-123456789012" "domain\_id": "domain-58010aa2e451", "created\_at": "2022-06-13T07:35:28.305Z" } \{{< /highlight >\}} \{{< /tab >\}}

\{{< /tabs >\}}

\


### enable

Enables a specific ProjectChannel. If a ProjectChannel is enabled, the ProjectChannel can be used and the Notification can be dispatched. Even if a ProjectChannel is enabled, if the Protocol used in the ProjectChannel is disabled, the Notification is not dispatched.

> **POST** /notification/v1/project-channel/enable

\{{< tabs " enable " >\}}

\{{< tab "Request Example" >\}}

[ProjectChannelRequest](https://github.com/cloudforet-io/api-doc/blob/master/content/en/notification/v1/ProjectChannel/README.md#projectchannelrequest)

*   **project\_channel\_id** (string) `Required`

    _The ID of project channel._

\{{< highlight json >\}} { "project\_channel\_id": "project-ch-ffdb1d6cc774" } \{{< /highlight >\}} \{{< /tab >\}}

\{{< tab "Response Example" >\}}

[ProjectChannelInfo](#PROJECTCHANNELINFO)

*   **project\_channel\_id** (string) `Required`

    The ID of project channel.
*   **name** (string) `Required`

    The name of project channel
*   **state** (ProjectChannelState) `Required`

    The state of project channel. ENABLED or DISABLED only.
*   **data** (Struct) `Required`

    The data for using project channel.
*   **is\_subscribe** (bool) `Required`

    Indicates whether subscriptions will be used.
*   **subscriptions** (string) `Repeated` `Required`

    The topic list to subscription.
*   **is\_scheduled** (bool) `Required`

    Indicates whether schedule will be used.
*   **schedule** (ProjectChannelSchedule) `Required`

    Schedule for which you want to receive notifications through the project channel.
*   **notification\_level** (NotificationLevel) `Required`

    Set the level of notification.
*   **tags** (Struct) `Required`

    The tags for project channel.
*   **domain\_id** (string) `Required`

    The ID of domain.
*   **workspace\_id** (string) `Required`

    The ID of workspace
*   **project\_id** (string) `Required`

    The ID of project to which the project channel belongs.
*   **protocol\_id** (string) `Required`

    The ID of protocol set in the project channel.
*   **secret\_id** (string) `Required`

    The ID of secret encrypted data in the security service
*   **created\_at** (string) `Required`

    Project channel creation time.

\{{< highlight json >\}} { "project\_channel\_id": "project-ch-488df94d026d", "name": "sms-test", "state": "ENABLED", "data": { "phone\_number": "01011112222" }, "notification\_level": "LV1", "tags": {}, "protocol\_id": "protocol-ab94ea7d574e", "project\_id": "project-aa723eed3d69", "workspace\_id": "workspace-123456789012" "domain\_id": "domain-58010aa2e451", "created\_at": "2022-06-13T07:35:28.305Z" } \{{< /highlight >\}} \{{< /tab >\}}

\{{< /tabs >\}}

\


### disable

Disables a specific ProjectChannel. If a ProjectChannel is disabled, the Notification is not dispatched, even if it is created.

> **POST** /notification/v1/project-channel/disable

\{{< tabs " disable " >\}}

\{{< tab "Request Example" >\}}

[ProjectChannelRequest](https://github.com/cloudforet-io/api-doc/blob/master/content/en/notification/v1/ProjectChannel/README.md#projectchannelrequest)

*   **project\_channel\_id** (string) `Required`

    _The ID of project channel._

\{{< highlight json >\}} { "project\_channel\_id": "project-ch-ffdb1d6cc774" } \{{< /highlight >\}} \{{< /tab >\}}

\{{< tab "Response Example" >\}}

[ProjectChannelInfo](#PROJECTCHANNELINFO)

*   **project\_channel\_id** (string) `Required`

    The ID of project channel.
*   **name** (string) `Required`

    The name of project channel
*   **state** (ProjectChannelState) `Required`

    The state of project channel. ENABLED or DISABLED only.
*   **data** (Struct) `Required`

    The data for using project channel.
*   **is\_subscribe** (bool) `Required`

    Indicates whether subscriptions will be used.
*   **subscriptions** (string) `Repeated` `Required`

    The topic list to subscription.
*   **is\_scheduled** (bool) `Required`

    Indicates whether schedule will be used.
*   **schedule** (ProjectChannelSchedule) `Required`

    Schedule for which you want to receive notifications through the project channel.
*   **notification\_level** (NotificationLevel) `Required`

    Set the level of notification.
*   **tags** (Struct) `Required`

    The tags for project channel.
*   **domain\_id** (string) `Required`

    The ID of domain.
*   **workspace\_id** (string) `Required`

    The ID of workspace
*   **project\_id** (string) `Required`

    The ID of project to which the project channel belongs.
*   **protocol\_id** (string) `Required`

    The ID of protocol set in the project channel.
*   **secret\_id** (string) `Required`

    The ID of secret encrypted data in the security service
*   **created\_at** (string) `Required`

    Project channel creation time.

\{{< highlight json >\}} { "project\_channel\_id": "project-ch-488df94d026d", "name": "sms-test", "state": "ENABLED", "data": { "phone\_number": "01011112222" }, "notification\_level": "LV1", "tags": {}, "protocol\_id": "protocol-ab94ea7d574e", "project\_id": "project-aa723eed3d69", "workspace\_id": "workspace-123456789012" "domain\_id": "domain-58010aa2e451", "created\_at": "2022-06-13T07:35:28.305Z" } \{{< /highlight >\}} \{{< /tab >\}}

\{{< /tabs >\}}

\


### delete

Deletes a specific ProjectChannel.

> **POST** /notification/v1/project-channel/delete

\{{< tabs " delete " >\}}

\{{< tab "Request Example" >\}}

[ProjectChannelRequest](https://github.com/cloudforet-io/api-doc/blob/master/content/en/notification/v1/ProjectChannel/README.md#projectchannelrequest)

*   **project\_channel\_id** (string) `Required`

    _The ID of project channel._

\{{< highlight json >\}} { "project\_channel\_id": "project-ch-ffdb1d6cc774" } \{{< /highlight >\}} \{{< /tab >\}}

\{{< /tabs >\}}

\


### get

Gets a specific ProjectChannel. Prints detailed information about the ProjectChannel.

> **POST** /notification/v1/project-channel/get

\{{< tabs " get " >\}}

\{{< tab "Request Example" >\}}

[ProjectChannelRequest](https://github.com/cloudforet-io/api-doc/blob/master/content/en/notification/v1/ProjectChannel/README.md#projectchannelrequest)

*   **project\_channel\_id** (string) `Required`

    _The ID of project channel._

\{{< highlight json >\}} { "project\_channel\_id": "project-ch-ffdb1d6cc774" } \{{< /highlight >\}} \{{< /tab >\}}

\{{< tab "Response Example" >\}}

[ProjectChannelInfo](#PROJECTCHANNELINFO)

*   **project\_channel\_id** (string) `Required`

    The ID of project channel.
*   **name** (string) `Required`

    The name of project channel
*   **state** (ProjectChannelState) `Required`

    The state of project channel. ENABLED or DISABLED only.
*   **data** (Struct) `Required`

    The data for using project channel.
*   **is\_subscribe** (bool) `Required`

    Indicates whether subscriptions will be used.
*   **subscriptions** (string) `Repeated` `Required`

    The topic list to subscription.
*   **is\_scheduled** (bool) `Required`

    Indicates whether schedule will be used.
*   **schedule** (ProjectChannelSchedule) `Required`

    Schedule for which you want to receive notifications through the project channel.
*   **notification\_level** (NotificationLevel) `Required`

    Set the level of notification.
*   **tags** (Struct) `Required`

    The tags for project channel.
*   **domain\_id** (string) `Required`

    The ID of domain.
*   **workspace\_id** (string) `Required`

    The ID of workspace
*   **project\_id** (string) `Required`

    The ID of project to which the project channel belongs.
*   **protocol\_id** (string) `Required`

    The ID of protocol set in the project channel.
*   **secret\_id** (string) `Required`

    The ID of secret encrypted data in the security service
*   **created\_at** (string) `Required`

    Project channel creation time.

\{{< highlight json >\}} { "project\_channel\_id": "project-ch-488df94d026d", "name": "sms-test", "state": "ENABLED", "data": { "phone\_number": "01011112222" }, "notification\_level": "LV1", "tags": {}, "protocol\_id": "protocol-ab94ea7d574e", "project\_id": "project-aa723eed3d69", "workspace\_id": "workspace-123456789012" "domain\_id": "domain-58010aa2e451", "created\_at": "2022-06-13T07:35:28.305Z" } \{{< /highlight >\}} \{{< /tab >\}}

\{{< /tabs >\}}

\


### list

Gets a list of all ProjectChannels. You can use a query to get a filtered list of ProjectChannels.

> **POST** /notification/v1/project-channel/list

\{{< tabs " list " >\}}

\{{< tab "Request Example" >\}}

[ProjectChannelQuery](https://github.com/cloudforet-io/api-doc/blob/master/content/en/notification/v1/ProjectChannel/README.md#projectchannelquery)

*   **query** (Query)

    _Query format provided by SpaceONE. Please check the link for more information._
*   **project\_channel\_id** (string)

    _The ID of project channel._
*   **name** (string)

    _The name of project channel._
*   **state** (ProjectChannelState)

    _The state of project channel. ENABLED or DISABLED only._
*   **is\_subscribe** (bool)

    _Indicates whether subscriptions will be used._
*   **is\_scheduled** (bool)

    _Indicates whether schedule will be used._
*   **notification\_level** (NotificationLevel)

    _The level of notification._
*   **project\_id** (string)

    _The ID of project to which the project channel belongs._
*   **protocol\_id** (string)

    _The ID of protocol set in the project channel._
*   **secret\_id** (string)

    _The ID of secret encrypted data in the security service_

\{{< highlight json >\}} { "query": { "filter": \[ { "key": "state", "value": "ENABLED", "operator": "eq" } ] } } \{{< /highlight >\}} \{{< /tab >\}}

\{{< tab "Response Example" >\}}

[ProjectChannelsInfo](#PROJECTCHANNELSINFO)

*   **results** (ProjectChannelInfo) `Repeated` `Required`

    List of queried project channels.
*   **total\_count** (int32) `Required`

    Total counts of queried project channels.

\{{< highlight json >\}} { "results": \[ { "project\_channel\_id": "project-ch-473efcfde4b1", "name": "Email Groups", "state": "ENABLED", "data": { "email": "sykim1@cloudforet.io, sykim2@cloudforet.io" }, "notification\_level": "LV1", "tags": {}, "protocol\_id": "protocol-e000a677ebdb", "project\_id": "project-28cf4f2e6645", "domain\_id": "domain-58010aa2e451", "created\_at": "2022-04-18T01:22:01.182Z" }, { "project\_channel\_id": "project-ch-98845ba0f975", "name": "Song Email", "state": "ENABLED", "data": { "email": "sykim@mz.co.kr" }, "notification\_level": "LV1", "tags": {}, "protocol\_id": "protocol-e000a677ebdb", "project\_id": "project-28cf4f2e6645", "domain\_id": "domain-58010aa2e451", "created\_at": "2022-04-18T01:17:40.741Z" } ], "total\_count": 2 } \{{< /highlight >\}} \{{< /tab >\}}

\{{< /tabs >\}}

\


### stat

> **POST** /notification/v1/project-channel/stat

\
\


## Message

### CreateProjectChannelRequest

*   **protocol\_id** (string) `Required`

    _The ID of protocol that will be set in project channel._
*   **name** (string) `Required`

    _The name of Project Channel. It can have a maximum of 255 characters._
*   **data** (Struct) `Required`

    _The data for using project channel. This data is encrypted and stored in the Secret service if JSON schema in the protocol's metadata is set to SECRET type. In this case, the secret ID that is stored in the security service will be returned and the data value will be empty. if JSON schema in the protocol's metadata is set to PLAIN\_TEXT type, This data is not encrypted and stored directly in the DB._
*   **project\_id** (string) `Required`

    _The ID of project to which the project channel belongs._
*   **is\_subscribe** (bool)

    _Indicates whether subscriptions will be used._
*   **subscriptions** (string) `Repeated`

    _When using subscriptions, it indicates the topic list to subscription. If is\_subscribe is set to false, this value is ignored._
*   **notification\_level** (NotificationLevel)

    _Set the level of notification. If a notification has a level and a notification level that this channel can receive is set, a notification is dispatched only if the notification level is the same._
*   **is\_scheduled** (bool)

    _Indicates whether schedule will be used._
*   **schedule** (ProjectChannelSchedule)

    _Schedule for which you want to receive notifications through the project channel._
*   **tags** (Struct)

    _The tags for project channel._

    \


### ProjectChannelInfo

*   **project\_channel\_id** (string) `Required`

    _The ID of project channel._
*   **name** (string) `Required`

    _The name of project channel_
*   **state** (ProjectChannelState) `Required`

    _The state of project channel. ENABLED or DISABLED only._
*   **data** (Struct) `Required`

    _The data for using project channel._
*   **is\_subscribe** (bool) `Required`

    _Indicates whether subscriptions will be used._
*   **subscriptions** (string) `Repeated` `Required`

    _The topic list to subscription._
*   **is\_scheduled** (bool) `Required`

    _Indicates whether schedule will be used._
*   **schedule** (ProjectChannelSchedule) `Required`

    _Schedule for which you want to receive notifications through the project channel._
*   **notification\_level** (NotificationLevel) `Required`

    _Set the level of notification._
*   **tags** (Struct) `Required`

    _The tags for project channel._
*   **domain\_id** (string) `Required`

    _The ID of domain._
*   **workspace\_id** (string) `Required`

    _The ID of workspace_
*   **project\_id** (string) `Required`

    _The ID of project to which the project channel belongs._
*   **protocol\_id** (string) `Required`

    _The ID of protocol set in the project channel._
*   **secret\_id** (string) `Required`

    _The ID of secret encrypted data in the security service_
*   **created\_at** (string) `Required`

    _Project channel creation time._

    \


### ProjectChannelQuery

*   **query** (Query)

    _Query format provided by SpaceONE. Please check the link for more information._
*   **project\_channel\_id** (string)

    _The ID of project channel._
*   **name** (string)

    _The name of project channel._
*   **state** (ProjectChannelState)

    _The state of project channel. ENABLED or DISABLED only._
*   **is\_subscribe** (bool)

    _Indicates whether subscriptions will be used._
*   **is\_scheduled** (bool)

    _Indicates whether schedule will be used._
*   **notification\_level** (NotificationLevel)

    _The level of notification._
*   **project\_id** (string)

    _The ID of project to which the project channel belongs._
*   **protocol\_id** (string)

    _The ID of protocol set in the project channel._
*   **secret\_id** (string)

    _The ID of secret encrypted data in the security service_

    \


### ProjectChannelRequest

*   **project\_channel\_id** (string) `Required`

    _The ID of project channel._

    \


### ProjectChannelSchedule

*   **day\_of\_week** (DayOfWeek) `Repeated` `Required`

    _Day of the week to be notified. As a list type, only types that can be specified from MON to SUN can be set._
*   **start\_hour** (int32) `Required`

    _Start time to receive notifications. Only integer type can be set, and 0 to 23 can be._
*   **end\_hour** (int32) `Required`

    _End time to receive notifications. Only integer type can be set, and 1 to 24 can be._

    \


### ProjectChannelStatQuery

*   **query** (StatisticsQuery) `Required`

    _Statistics Query format provided by SpaceONE. Please check the link for more information._

    \


### ProjectChannelsInfo

*   **results** (ProjectChannelInfo) `Repeated` `Required`

    _List of queried project channels._
*   **total\_count** (int32) `Required`

    _Total counts of queried project channels._

    \


### UpdateProjectChannelRequest

*   **project\_channel\_id** (string) `Required`

    _The ID of project channel._
*   **domain\_id** (string) `Required`

    _The ID of domain._
*   **name** (string)

    _The name of Project Channel. It can have a maximum of 255 characters._
*   **data** (Struct)

    _The data for using project channel. This data is encrypted and stored in the Secret service if JSON schema in the protocol's metadata is set to SECRET type. In this case, the secret ID that is stored in the security service will be returned and the data value will be empty. if JSON schema in the protocol's metadata is set to PLAIN\_TEXT type, This data is not encrypted and stored directly in the DB._
*   **notification\_level** (NotificationLevel)

    _Set the level of notification. If a notification has a level and a notification level that this channel can receive is set, a notification is dispatched only if the notification level is the same._
*   **tags** (Struct)

    _The tags for project channel._

    \


### UpdateProjectChannelScheduleRequest

*   **project\_channel\_id** (string) `Required`

    _The ID of project channel._
*   **is\_scheduled** (bool) `Required`

    _Indicates whether schedule will be used._
*   **schedule** (ProjectChannelSchedule)

    _Schedule for which you want to receive notifications through the project channel._

    \


### UpdateProjectChannelSubscriptionRequest

*   **project\_channel\_id** (string) `Required`

    _The ID of project channel._
*   **is\_subscribe** (bool) `Required`

    _Indicates whether subscriptions will be used._
*   **subscriptions** (string) `Repeated`

    _When using subscriptions, it indicates the topic list to subscription. If is\_subscribe is set to false, this value is ignored._

    \
