---
title: 오류 및 재시도
description: Human Plugin의 모든 오류 응답, 안전하게 재시도할 수 있는 경우, 생성 요청을 재시도하는 방법을 설명합니다.
canonical: https://developer.unico.io/ko/human-plugin/api-reference/errors-and-retries
locale: ko
generated_by: markdown-export
---

# 오류 및 재시도

오류 엔벨로프, 전체 응답 목록과 각 응답에 대한 조치 방법.

## 엔벨로프

```json
{ "message": "MISSING_CLIENT_ID", "details": [] }
```

`message`는 오류를 식별하며, `details`는 대개 비어 있습니다. 플로우가 요청을 거부하는 경우(예: 잘못된 이미지)에도 응답은 이 엔벨로프를 유지하며, 사유는 `message`와 `details`에 담깁니다. [거부 사유](/ko/human-plugin/api-reference/create-process#flow-refusals)를 참고하세요.

## 레퍼런스

| 상태 | `message` | 엔드포인트 | 재시도? |
| --- | --- | --- | --- |
| 400 | `INVALID_REQUEST` | create | 아니요. 요청을 수정하세요 |
| 400 | `REQUEST_TOO_LARGE` | create | 아니요. 본문이 2 MiB를 초과했습니다 |
| 400 | `MISSING_<FIELD>` / `INVALID_<FIELD>` | create | 아니요. `<FIELD>`는 대문자 스네이크 케이스의 필드 이름입니다(예: `MISSING_CREDENTIAL_VALUE`) |
| 401 | 비어 있음(`""`) | create, selfie | 아니요. Unico가 액세스 키를 거부했습니다. `HUMAN_API_ACCESS_KEY`를 확인하세요 |
| 409 | `CORRELATION_ID_ALREADY_USED` | create | 아니요. 다른 프로세스가 해당 `correlationId`를 사용 중입니다. 새 값을 사용하세요 |
| 422 | `ATTRIBUTE_TYPE_NOT_SUPPORTED` | create | 아니요. 카탈로그 코드를 사용하세요 |
| 4xx | 플로우의 `message` | create | 아니요. 프로세스가 실패로 저장됩니다 |
| 404 | `PROCESS_NOT_FOUND` | get, selfie | 아니요 |
| 404 | `SELFIE_NOT_FOUND` | selfie | 아니요. 해당 프로세스에는 사용 가능한 셀피가 없습니다 |
| 4xx | 거부 사유 `message` | selfie | 아니요 |
| 503 | `DATABASE_UNAVAILABLE` | 전체 | create: 아래 참고. get과 selfie: 예 |
| 502 | `UPSTREAM_UNAVAILABLE` | 전체 | create: 아래 참고. get과 selfie: 예 |
| 500 | `INTERNAL` | 전체 | create: 아래 참고 |

## 생성 요청 재시도

수락된 모든 생성 요청은 새 `id`를 가진 새 프로세스를 시작하며, 각 `correlationId`는 한 번만 사용할 수 있습니다. 어떤 상태의 프로세스든 이미 사용한 값은 `409 CORRELATION_ID_ALREADY_USED`로 거부됩니다.

- **400, 409, 422 및 기타 거부:** 요청을 수정한 뒤 다시 보내세요.
- **503 `DATABASE_UNAVAILABLE`:** 저장되거나 처리된 것이 없습니다. 같은 `correlationId`로 재시도하세요.
- **502 및 500:** 요청이 확인되지 않았습니다. 자동으로 재시도하지 마세요. 다시 시도하려면 새 `correlationId`로 새 생성 요청을 보내세요.

백엔드에 권장하는 방식:

1. Human Plugin을 호출하기 전에 `correlationId`를 키로 각 시도를 기록합니다.
2. `502` 또는 `500`이 발생하면 비즈니스 규칙에 따라 새 시도를 시작할지 결정합니다.
3. 관련된 시도들을 기록에서 서로 연결해 둡니다.

## 조회 재시도

프로세스나 셀피에 대한 `GET`은 안전하게 재시도할 수 있습니다. 백오프를 사용하고 `404`에서 중단하세요.

## 속도 제한

Human Plugin에는 내장 속도 제한기가 없습니다. 필요하면 게이트웨이에서 제한을 적용하세요.