# 일반 공지 API 레퍼런스

Source: https://instatus.com/help/ko/api/generic-notices

일반 공지는 상태 페이지에 계속 표시되는 배너입니다(인시던트 및 유지보수와는 별개입니다). 이 엔드포인트로 프로그램에서 일반 공지를 관리할 수 있습니다.

## 모든 일반 공지 가져오기

**엔드포인트:**

```bash
GET /v1/:page_id/generic-notices?page=:page&per_page=:per_page
```

- 기본 page 번호는 1입니다.
- 기본 per_page 값은 50이며 페이지당 최대 100개입니다.

**응답 예시:**

```json
[
  {
    "id": "cl9mq0ah50646mpvlmbrvf979",
    "name": "Scheduled DNS migration",
    "message": "We are migrating our DNS provider over the next week.",
    "messageHtml": "<p>We are migrating our DNS provider over the next week.</p>",
    "notify": false,
    "isCollapsed": false,
    "createdAt": "2022-10-24T11:53:46.505Z",
    "updatedAt": "2022-10-24T11:53:46.505Z",
    "siteId": "cl9fzgilx14063qjvl5oqdtxtg",
    "importedFrom": null
  }
]
```

## 일반 공지 가져오기

**엔드포인트:**

```bash
GET /v1/:page_id/generic-notices/:generic_notice_id
```

**응답 예시:**

```json
{
  "id": "cl9mq0ah50646mpvlmbrvf979",
  "name": "Scheduled DNS migration",
  "message": "We are migrating our DNS provider over the next week.",
  "messageHtml": "<p>We are migrating our DNS provider over the next week.</p>",
  "notify": false,
  "isCollapsed": false,
  "createdAt": "2022-10-24T11:53:46.505Z",
  "updatedAt": "2022-10-24T11:53:46.505Z",
  "siteId": "cl9fzgilx14063qjvl5oqdtxtg",
  "importedFrom": null
}
```

## 일반 공지 추가하기

**엔드포인트:**

```bash
POST /v1/:page_id/generic-notices
```

**본문 파라미터:**

- `name` (필수) — 공지의 제목입니다.
- `message` — 공지의 본문입니다. HTML을 지원합니다.
- `notify` — 구독자에게 알릴지 여부입니다. 기본값은 `false`입니다.
- `isCollapsed` — 공지를 기본적으로 접어 둘지 여부입니다. 기본값은 `false`입니다.
- `translations` — 언어 코드를 키로 하는 `name`과 `message`의 번역입니다(선택).

**요청 예시:**

```json
{
  "name": "Scheduled DNS migration",
  "message": "We are migrating our DNS provider over the next week.",
  "notify": false,
  "isCollapsed": false,
  "translations": {
    "name": {
      "fr": "Migration DNS planifiée"
    },
    "message": {
      "fr": "Nous migrons notre fournisseur DNS au cours de la semaine prochaine."
    }
  }
}
```

**응답 예시:**

```json
{
  "id": "cl9xobpoe00614tvldhh90t0w",
  "name": "Scheduled DNS migration",
  "message": "We are migrating our DNS provider over the next week.",
  "messageHtml": "<p>We are migrating our DNS provider over the next week.</p>",
  "notify": false,
  "isCollapsed": false,
  "createdAt": "2022-11-01T03:52:08.126Z",
  "updatedAt": "2022-11-01T03:52:08.126Z",
  "siteId": "cl9fzgilx14063qjvl5oqdtxtg",
  "importedFrom": null,
  "translations": {
    "name": {
      "fr": "Migration DNS planifiée"
    },
    "message": {
      "fr": "Nous migrons notre fournisseur DNS au cours de la semaine prochaine."
    }
  }
}
```

## 일반 공지 업데이트하기

**엔드포인트:**

```bash
PUT /v1/:page_id/generic-notices/:generic_notice_id
```

보낸 필드만 업데이트됩니다.

**요청 예시:**

```json
{
  "name": "Scheduled DNS migration (rescheduled)",
  "message": "The migration has been rescheduled to next month.",
  "isCollapsed": true
}
```

**응답 예시:**

```json
{
  "id": "cl9xobpoe00614tvldhh90t0w",
  "name": "Scheduled DNS migration (rescheduled)",
  "message": "The migration has been rescheduled to next month.",
  "messageHtml": "<p>The migration has been rescheduled to next month.</p>",
  "notify": false,
  "isCollapsed": true,
  "createdAt": "2022-11-01T03:52:08.126Z",
  "updatedAt": "2022-11-02T09:14:22.501Z",
  "siteId": "cl9fzgilx14063qjvl5oqdtxtg",
  "importedFrom": null
}
```

## 일반 공지 삭제하기

**엔드포인트:**

```bash
DELETE /v1/:page_id/generic-notices/:generic_notice_id
```

**응답 예시:**

```json
{
  "id": "cl9xobpoe00614tvldhh90t0w",
  "name": "Scheduled DNS migration (rescheduled)",
  "message": "The migration has been rescheduled to next month.",
  "messageHtml": "<p>The migration has been rescheduled to next month.</p>",
  "notify": false,
  "isCollapsed": true,
  "createdAt": "2022-11-01T03:52:08.126Z",
  "updatedAt": "2022-11-02T09:14:22.501Z",
  "siteId": "cl9fzgilx14063qjvl5oqdtxtg",
  "importedFrom": null
}
```
