# 수명 주기

수명 주기 엔드포인트는 Journey를 상태 간에 이동시킵니다. 요청 본문에 Journey의 [Journey ID](/ko/developer/api-reference/api-identifiers/#journey-id)를 `uuid`로 전달합니다. 호출은 업데이트된 [Journey 객체](/ko/developer/api-reference/customer-journey-api/journey-object/)를 반환합니다.

Journey는 항상 다음 상태 중 하나입니다:

| 상태 | 의미 |
|---|---|
| `STATUS_DRAFT` | 편집 중입니다. 사용자를 처리하지 않습니다. |
| `STATUS_RUNNING` | 활성 상태이며 사용자를 처리합니다. |
| `STATUS_PAUSED` | 일시적으로 중단되었으며 재개할 수 있습니다. |
| `STATUS_FINISHED` | 완료되었으며 더 이상 사용자를 처리하지 않습니다. |
| `STATUS_ARCHIVED` | 저장을 위해 보관되었습니다. |

## 엔드포인트

모든 수명 주기 호출은 동일한 요청 본문을 사용합니다: `uuid`로 전달되는 [Journey ID](/ko/developer/api-reference/api-identifiers/#journey-id). 경로만 다릅니다:

| 작업 | 메서드 및 경로 | 결과 상태 |
|---|---|---|
| 시작 | `POST /api/v3/journeygateway/start` | `STATUS_RUNNING` |
| 일시 중지 | `POST /api/v3/journeygateway/pause` | `STATUS_PAUSED` |
| 완료 | `POST /api/v3/journeygateway/finish` | `STATUS_FINISHED` |
| 초안 저장 | `POST /api/v3/journeygateway/draft` | `STATUS_DRAFT` |
| 보관 | `POST /api/v3/journeygateway/archive` | `STATUS_ARCHIVED` |

## 요청

| 필드 | 필수 | 유형 | 설명 |
|---|---|---|---|
| `uuid` | 예 | string | 전환할 Journey의 [Journey ID](/ko/developer/api-reference/api-identifiers/#journey-id)입니다. |

```json title="본문"
{ "uuid": "11111111-2222-3333-4444-555555555555" }
```

API는 전환하기 전에 현재 상태를 검증합니다. 예를 들어, 이미 완료된 Journey를 시작하거나 실행 중이 아닌 Journey를 일시 중지하면 오류가 반환됩니다.

<Aside type="note">
한 번의 호출로 Journey를 시작하고 보류 중인 편집 내용을 적용하려면 `start` 대신 [업데이트 및 재개](/ko/developer/api-reference/customer-journey-api/create-update/#update-and-resume)를 사용하세요.
</Aside>

### 요청 예시

#### Journey 시작하기

```bash
curl -X POST https://journey.pushwoosh.com/api/v3/journeygateway/start \
  -H "Authorization: Api YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "uuid": "11111111-2222-3333-4444-555555555555" }'
```

#### Journey 일시 중지하기

```bash
curl -X POST https://journey.pushwoosh.com/api/v3/journeygateway/pause \
  -H "Authorization: Api YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "uuid": "11111111-2222-3333-4444-555555555555" }'
```

## 응답

업데이트된 [Journey 객체](/ko/developer/api-reference/customer-journey-api/journey-object/)인 `info`, `points`, `comments`를 반환합니다. `info.status` 필드는 새로운 상태를 반영합니다.

### 응답 예시
```json
{
  "info": {
    "uuid": "11111111-2222-3333-4444-555555555555",
    "title": "Welcome series",
    "status": "STATUS_RUNNING",
    "created_at": "2026-05-01T09:00:00Z",
    "updated_at": "2026-06-17T12:00:00Z",
    "params": { "application_code": "XXXXX-XXXXX" },
    "campaign_type": "TriggerBased"
  },
  "points": [],
  "comments": []
}
```

전체 필드 목록은 [Journey 객체 참조](/ko/developer/api-reference/customer-journey-api/journey-object/)를 참조하세요.

## 관련 항목

<CardGrid>
  <LinkCard title="생성 및 업데이트" href="/developer/api-reference/customer-journey-api/create-update/" />
  <LinkCard title="API로 시작" href="/developer/api-reference/customer-journey-api/start-by-api/" />
  <LinkCard title="Journey 객체" href="/developer/api-reference/customer-journey-api/journey-object/" />
</CardGrid>