오류 코드
모든 오류 응답은 형태가 같아요. HTTP 상태와 error.code를 기준으로 처리하세요. error.message는 사람이 읽을 수 있는 영어 텍스트이며 바뀔 수 있어요.
오류 형식
{
"detail": "…",
"error": {
"code": "api.cursor_invalid",
"message": "The cursor is malformed or was issued for different filters.",
"details": {"parameter": "cursor"},
"request_id": "01JB7Q2M4X9V3K8T5N6P0R1S2A",
"doc_url": "https://developers.sursa.com/errors/api.cursor_invalid"
}
}error.code는 이 페이지에 있는 코드예요. error.request_id는 X-Request-Id 헤더 값과 같고, error.doc_url은 이 페이지로 연결돼요.
access_requests
- 409access_requests.closed이 접근 요청은 이미 결정되었어요
- 400access_requests.invalid{reason}
- 404access_requests.not_found접근 요청이나 답변을 찾을 수 없어요
- 403access_requests.not_person접근 요청은 사용자만 할 수 있으며 API 키나 “View as” 모드에서는 할 수 없어요
analytics
- 403analytics.admins_only분석은 조직 관리자만 사용할 수 있어요
- 422analytics.invalid_period잘못된 기간: {reason}
announcements
- 422announcements.audience_required그룹이나 사용자를 하나 이상 선택해 주세요
- 403announcements.author_only작성자만 할 수 있어요
- 422announcements.invalid_viewview 값은 inbox, my_sent, all_sent, my_scheduled 중 하나여야 해요
- 404announcements.not_found공지를 찾을 수 없어요
- 409announcements.not_sent공지가 아직 전송되지 않았어요
- 422announcements.note_too_long메모는 700자 이하여야 해요
- 422announcements.scheduled_past전송 날짜는 미래여야 해요
answers
- 400answers.empty_question질문이 비어 있어요
- 429answers.engine_busy답변 서비스가 바빠요. {retry_after}초 후에 다시 시도해 주세요
- 409answers.external_ai_disabled조직에서 외부 처리를 껐으며, 이 답변은 외부 처리 없이 만들 수 없어요
- 400answers.last_message_not_user마지막 메시지는 사용자가 보낸 메시지여야 해요
- 404answers.no_collections읽을 수 있는 컬렉션이 없어요
- 422answers.scope_invalid질문 범위를 적용할 수 없어요: {reason}
api
- 400api.cursor_invalid커서 형식이 잘못되었거나 다른 필터로 발급된 커서예요
- 400api.expand_invalidexpand[] 값이 잘못되었어요: {reason}
- 410api.gone이 API 경로는 지원이 종료되었어요. docs/api/CHANGELOG.md를 참고하세요
- 409api.idempotency_in_progress이 Idempotency-Key 값을 쓴 요청이 아직 처리 중이에요. 잠시 후 다시 시도해 주세요
- 400api.idempotency_key_invalidIdempotency-Key 헤더는 출력 가능한 ASCII 문자 1~255자여야 해요
- 409api.idempotency_mismatch이 Idempotency-Key 값은 이미 다른 요청에 사용되었어요
- 400api.metadata_invalid잘못된 메타데이터: {reason}
- 404api.not_found찾을 수 없어요
- 413api.payload_too_large요청 본문이 너무 커요
- 429api.quota_exceeded조직이 이 기간의 API 요청 할당량을 모두 사용했어요
- 429api.rate_limited요청이 너무 많아요. 잠시 후 다시 시도해 주세요
api_keys
- 400api_keys.data_profile_not_applicabledata_profile 필드는 admin 역할에 적용되지 않아요. 관리자 키는 조직의 모든 데이터를 봐요
- 401api_keys.expiredAPI 키가 만료되었어요
- 403api_keys.feature_disabled조직의 요금제에 API 토큰이 포함되어 있지 않아요
- 400api_keys.invalid_cidrsallowed_cidrs 값은 10.0.0.0/8 같은 네트워크 목록이어야 해요: {reason}
- 400api_keys.invalid_collectionscollection_ids 값에는 조직의 컬렉션을 나열해야 해요: {reason}
- 400api_keys.invalid_expiresexpires_at 값은 ISO 8601 형식의 미래 시각이어야 해요
- 400api_keys.invalid_scopesscopes 값은 read, write, admin, system으로 이루어진 목록이어야 해요: {reason}
- 403api_keys.ip_not_allowed이 API 키로는 이 네트워크에서 요청할 수 없어요
- 403api_keys.mcp_only개인 MCP 키는 /mcp 엔드포인트에서만 동작해요
- 404api_keys.not_found키를 찾을 수 없어요
- 403api_keys.scopeAPI 키에 {scope} 스코프가 없어요
api_logs
- 404api_logs.not_foundAPI 로그에 요청이 없거나 14일보다 오래된 요청이에요
auth
- 403auth.admin_requiredadmin 역할이 필요해요
- 403auth.editor_requirededitor 역할이 필요해요
- 401auth.not_authenticated인증되지 않았어요
- 403auth.system_scope시스템 관리자는 조직 데이터에 접근할 수 없어요
authz
- 403authz.forbidden'{permission}' 권한이 필요해요
- 400authz.group_key_invalid잘못된 그룹 키: 라틴 문자, 숫자, '_', '-'로 이루어진 최대 80자여야 하며 문자로 시작해야 해요
- 409authz.group_key_taken'{key}' 그룹 키는 이미 사용 중이에요
- 409authz.group_kind_immutable기본 제공 그룹이에요. 멤버는 자동으로 계산되어 편집할 수 없고, 그룹을 삭제할 수도 없어요
- 409authz.group_managed_externallyID 제공자(SCIM)가 관리하는 그룹이에요
- 404authz.group_not_found그룹을 찾을 수 없어요
- 409authz.last_owner객체에 '{role}' 역할이 하나 이상 남아 있어야 해요
- 409authz.legacy_admin_single_user_onlyadmin 역할은 그룹이 아닌 사용자에게만 부여할 수 있어요
- 409authz.managed_by_source이 객체의 권한은 소스가 관리해요
- 400authz.role_key_invalid잘못된 역할 키: 라틴 문자, 숫자, '_', '-'로 이루어진 최대 64자여야 하며 문자로 시작해야 해요
- 409authz.role_key_taken'{key}' 역할 키는 이미 사용 중이에요
- 404authz.role_not_found역할을 찾을 수 없어요
- 400authz.role_scope_mismatch'{key}' 역할은 {object_type} 객체에 부여할 수 없어요
- 409authz.role_system_immutable시스템 역할은 변경하거나 삭제할 수 없어요
- 400authz.subject_requiredgroup_id와 user_id 중 정확히 하나가 필요해요
- 400authz.unknown_permission알 수 없는 권한: '{permission}'
- 400authz.user_not_in_org조직에서 사용자를 찾을 수 없어요
- 400authz.view_required객체용 역할에는 COLLECTION_VIEW 권한이 포함되어야 해요
billing
- 402billing.seats_exceeded구독 라이선스 {purchased}개가 모두 사용 중이에요(활성 사용자와 대기 중인 초대 {reserved}건). 더 많은 사람을 초대하려면 “Billing”(결제 및 요금) 페이지에서 라이선스를 추가하세요.
cards
- 400cards.archive_empty압축 파일에 지원되는 문서가 없어요
- 400cards.archive_encrypted압축 파일이 암호화되어 있어요. 비밀번호 없는 압축 파일을 업로드해 주세요
- 400cards.archive_invalidZIP 압축 파일이 아니거나 압축 파일이 손상되었어요
- 404cards.archive_job_not_found압축 해제 작업을 찾을 수 없어요
- 413cards.archive_too_large압축을 푼 크기가 허용치보다 커요
- 413cards.archive_too_many_files압축 파일에 허용치보다 많은 파일이 있어요
- 400cards.bulk_invalid{reason}
- 403cards.category_whole_access카테고리는 문서 전체에 접근할 수 있을 때만 변경할 수 있어요
- 404cards.comment_not_found댓글을 찾을 수 없거나 본인의 댓글이 아니에요
- 403cards.content_whole_access카드 내용은 문서 전체에 접근할 수 있을 때만 교체할 수 있어요
- 403cards.delete_whole_access카드는 문서 전체에 접근할 수 있을 때만 삭제할 수 있어요
- 403cards.duplicate_restricted같은 문서가 있지만 현재 데이터 프로필로는 그 문서 전체를 볼 수 없어요
- 400cards.export_formatformat 값은 pdf, docx, md 중 하나여야 해요
- 409cards.external_id_takenexternal_id '{external_id}' 값은 조직의 다른 카드가 이미 사용 중이에요
- 409cards.indexing_in_progress카드를 지금 인덱싱하고 있어요
- 400cards.invalid_folder_filterfolder=none을 쓰려면 collection 파라미터가 필요해요
- 400cards.invalid_kind_filterkind 값은 ('file', 'text', 'connector') 중 하나여야 해요
- 400cards.invalid_orderorder 값은 'asc' 또는 'desc'여야 해요
- 400cards.invalid_owner_filterowner 값은 'me', 'none' 또는 사용자 ID여야 해요
- 400cards.invalid_sortsort 값은 ('created_at', 'updated_at', 'title', 'size', 'verified_at', 'trust', 'due') 중 하나여야 해요
- 400cards.invalid_status_filterstatus 값은 ('processing', 'ready', 'error', 'archived', 'all') 중 하나여야 해요
- 400cards.invalid_type_filtertype 값은 'table' 또는 'text'여야 해요
- 400cards.invalid_verification_filterverification 값은 ('verified', 'needs_verification', 'stale') 중 하나여야 해요
- 409cards.managed_by_source이 카드는 소스가 관리해요. 소스에서 문서를 변경하세요(사용자 지정 소스는 문서를 다시 보내세요)
- 403cards.no_access이 카드에 대한 {action} 권한이 없어요
- 409cards.no_original_file이 카드의 원본 파일은 저장되어 있지 않아요
- 404cards.not_found카드를 찾을 수 없어요
- 400cards.review_requires_asyncreview=true를 쓰려면 async=true가 필요해요. 작업이 대기하는 동안 파싱 미리 보기가 표시돼요
- 403cards.sensitivity_admin_only민감도를 낮추거나 민감 카드를 옮기는 일은 관리자만 할 수 있어요
- 404cards.table_not_found표를 찾을 수 없어요
- 400cards.unknown_table_part알 수 없는 표: '{table_id}'
- 415cards.unsupported_format{ext} 형식은 지원되지 않아요. 허용되는 형식: ['.adoc', '.asciidoc', '.bmp', '.csv', '.docx', '.eml', '.htm', '.html', '.jpeg', '.jpg', '.markdown', '.md', '.ods', '.pdf', '.png', '.pptx', '.tif', '.tiff', '.tsv', '.txt', '.webp', '.xls', '.xlsm', '.xlsx']
- 403cards.verify_forbidden이 카드는 담당자, 검증자 또는 관리자만 검증할 수 있어요
- 400cards.verify_user_account_required검증하려면 API 키가 아닌 사용자 계정이 필요해요
- 404cards.version_not_found버전을 찾을 수 없어요
catalog
- 404catalog.icon_not_found이 서비스에는 아이콘이 없어요
- 404catalog.service_not_found알 수 없는 서비스: '{service_id}'
categories
- 409categories.exists카테고리가 이미 있어요
- 400categories.not_deletable카테고리를 찾을 수 없거나 시스템 카테고리예요
- 404categories.not_found카테고리를 찾을 수 없어요
- 400categories.unknown알 수 없는 카테고리: '{key}'
collections
- 403collections.admin_fields컬렉션의 접근 설정, 민감도, 기본값, 검색 설정을 바꾸려면 admin 역할이 필요해요
- 409collections.index_outdated이 컬렉션의 인덱스가 오래되었어요. 먼저 업그레이드하세요. upgrade_index: true 값을 넣은 PATCH /v1/collections/{name} 요청은 컬렉션을 다시 인덱싱해요
- 409collections.indexing_in_progress이 컬렉션의 문서를 지금 인덱싱하고 있어요. 인덱싱이 끝나면 검색 설정을 변경하세요
- 400collections.invalid_name잘못된 컬렉션 이름: 라틴 문자, 숫자, '_', '-'로 이루어진 1~64자여야 해요
- 403collections.no_access'{name}' 컬렉션에 대한 '{action}' 권한이 없어요
- 403collections.no_write_access'{name}' 컬렉션에 대한 쓰기 권한이 없어요
- 404collections.not_found'{name}' 컬렉션을 찾을 수 없어요
comments
- 422comments.body_required댓글 내용을 입력해 주세요
- 403comments.forbidden이 댓글은 변경할 수 없어요
- 404comments.not_found댓글을 찾을 수 없어요
- 400comments.reply_to_reply답글은 최상위 댓글에만 달 수 있어요
- 409comments.resolved_edit해결된 댓글은 편집할 수 없어요
conversations
- 422conversations.invalid_cursor잘못된 커서
- 404conversations.not_found대화를 찾을 수 없어요
- 422conversations.title_empty제목은 비워 둘 수 없어요
drafts
- 409drafts.already_requested이 초안은 이미 게시 요청이 되었어요. 검토를 기다리는 동안에도 계속 편집할 수 있어요
- 409drafts.card_deleted이 초안의 카드가 삭제되었어요
- 409drafts.card_published이 초안을 시작한 뒤 카드가 게시되었거나 변경되었어요. 게시된 버전에서 새 초안을 시작하세요
- 422drafts.content_json_invalidcontent_json 값은 schemaVersion(문자열)과 doc(객체)이 있는 객체여야 하며 최대 500000바이트예요
- 409drafts.deleted_by_collaborator다른 공동 작성자가 이 초안을 삭제했어요. 계속 편집하려면 새 초안을 시작하세요
- 409drafts.exists이 카드의 초안이 이미 있어요
- 422drafts.invalid_scopescope 값은 mine, all, orphaned 중 하나여야 해요
- 403drafts.not_collaborator이 초안은 공동 작성자나 관리자만 변경할 수 있어요
- 404drafts.not_found초안을 찾을 수 없어요
- 409drafts.not_requested이 초안은 게시 요청이 되지 않았어요
- 403drafts.publish_forbidden이 컬렉션에 게시할 권한이 없어요
- 422drafts.scheduled_past예약 날짜는 미래여야 해요
- 422drafts.title_required제목을 입력해 주세요
events
- 404events.not_found이벤트를 찾을 수 없거나 30일보다 오래된 이벤트예요
files
- 410files.expired파일이 만료되었어요
- 422files.infected{filename} 파일이 바이러스 검사에서 거부되었어요: {signature}
- 422files.invalid_expiry_filterexpiry 값은 active, expiring, expired 중 하나여야 해요
- 422files.invalid_kind_filterkind 값은 pdf, xlsx, csv, docx, md 중 하나여야 해요
- 422files.invalid_origin_filterorigin 값은 answer, card, insights, list 중 하나여야 해요
- 409files.no_expiry이 파일은 만료일 없이 보관돼요
- 404files.not_found파일을 찾을 수 없어요
- 409files.not_regenerable{reason}
- 422files.preview_failed이 파일은 미리 볼 수 없어요: {reason}
- 404files.regeneration_required이 파일은 메인 주소에서 만들어졌으며 API 전용 주소에서 반환하지 않는 세부 정보를 담고 있어요. POST /v1/files/{file_id}/regenerate 요청으로 다시 만들거나 메인 주소에서 내려받으세요
- 409files.removed이 파일은 만료되어 이미 제거되었어요. 대신 파일을 다시 만드세요
- 503files.scan_unavailable바이러스 검사를 사용할 수 없어요. 잠시 후 다시 시도해 주세요
- 413files.too_large{filename} 파일이 업로드 한도 {limit}보다 커요
- 415files.type_mismatch{filename} 파일이 유형과 맞지 않아요: 확장자 {extension}, 선언된 유형 {declared}, 실제 내용 {detected}
finance
- 503finance.engine_unavailable어시스턴트를 사용할 수 없어요: {reason}
- 413finance.export_too_large내보낼 행이 {limit}개를 넘어요. 필터를 좁혀 주세요
- 403finance.forbidden데이터 프로필에 재무 데이터 접근 권한이 없어요
- 400finance.invalid{reason}
folders
- 400folders.appearance_invalidcolor 값은 blue, violet, emerald, amber, orange, rose, cyan, slate 중 하나여야 하고, icon 값은 카테고리 키나 lock이어야 해요
- 400folders.card_collection_mismatch카드와 폴더가 서로 다른 컬렉션에 속해 있어요
- 409folders.cycle폴더를 자기 자신이나 하위 폴더로 옮길 수 없어요
- 409folders.depth_exceeded폴더 깊이가 최대 3단계를 넘어요
- 404folders.not_found폴더를 찾을 수 없어요
- 400folders.parent_mismatch상위 폴더가 다른 컬렉션에 속해 있어요
- 400folders.sibling_not_foundprev_sibling_id 값은 'first', 'last' 또는 대상 상위 폴더 안에 있는 같은 수준 폴더의 ID여야 해요
- 400folders.title_invalid폴더 제목은 1~200자여야 해요
insights
- 403insights.finance_forbidden데이터 프로필에 재무 데이터 접근 권한이 없어요
- 400insights.invalid_period{name}: 기간은 YYYY-MM 형식이어야 하는데 '{value}' 값을 받았어요
- 404insights.no_data인사이트에 쓸 표 데이터가 없어요
- 400insights.period_ordersince 값은 until 값보다 늦을 수 없어요
internal
- 500internal.error내부 서버 오류
jobs
- 409jobs.already_processing작업이 이미 처리 중이라 대기열에서 더 이상 제거할 수 없어요
- 409jobs.cancel_failed작업을 대기열에서 제거하지 못했어요
- 410jobs.cancel_unsupported취소 기능이 지원되기 전에 대기열에 들어간 작업이에요. 작업이 끝날 때까지 기다려 주세요
- 422jobs.invalid_filter{reason}
- 404jobs.not_found작업을 찾을 수 없어요
- 409jobs.not_queued대기 중인 작업만 대기열에서 제거할 수 있어요(이 작업의 상태: {status})
limits
- 402limits.cards조직이 카드 한도 {limit}장에 도달했어요{plan}. 필요 없는 카드를 삭제하거나 시스템 관리자에게 한도를 늘려 달라고 요청하세요.
- 429limits.concurrent_answers조직에서 이미 답변 {used}건이 진행 중이에요(한도 {limit}건). 몇 초 후에 다시 시도해 주세요
- 429limits.questions조직이 24시간당 질문 한도 {limit}개를 모두 사용했어요{plan}. 약 {wait} 후에 다시 질문할 수 있어요. 더 필요하면 시스템 관리자에게 한도를 늘려 달라고 요청하세요.
- 402limits.sources조직이 소스 한도 {limit}개에 도달했어요{plan}. 필요 없는 소스를 삭제하거나 시스템 관리자에게 한도를 늘려 달라고 요청하세요.
- 402limits.sources_instant조직의 요금제에 즉시 업데이트가 포함되어 있지 않아요{plan}. 소스는 예약된 일정대로 업데이트돼요.
- 402limits.storage저장 공간이 부족해요: 조직이 {limit}GB 중 {used}GB를 사용 중이고{plan}, 이 파일에는 {amount}만큼 더 필요해요. 필요 없는 카드나 파일을 삭제하거나 시스템 관리자에게 한도를 늘려 달라고 요청하세요.
- 402limits.users조직이 활성 사용자와 대기 중인 초대를 합한 사용자 한도 {limit}명에 도달했어요{plan}. 필요 없는 계정을 비활성화하거나 초대를 취소하거나, 시스템 관리자에게 한도를 늘려 달라고 요청하세요.
notifications
- 422notifications.invalid_filter{reason}
oauth
- 403oauth.operation_not_allowedOAuth 앱 토큰으로는 이 오퍼레이션을 사용할 수 없어요
- 401oauth.token_expired액세스 토큰이 만료되었어요. 리프레시 토큰으로 새 토큰을 받으세요
oauth_apps
- 400oauth_apps.invalid{reason}
- 400oauth_apps.invalid_redirect_uri'{uri}' 리다이렉트 URI는 허용되지 않아요: https를 사용하세요. http는 localhost에서만, 앱 스킴은 역도메인 형식으로만 쓸 수 있으며 프래그먼트는 붙일 수 없어요
- 400oauth_apps.invalid_scope알 수 없는 스코프: '{scope}'
- 409oauth_apps.not_confidential공개 앱이에요: 클라이언트 시크릿이 없으며 클라이언트 자격 증명으로 접근할 수 없어요
- 404oauth_apps.not_foundOAuth 앱을 찾을 수 없어요
- 409oauth_apps.too_many조직에 이미 OAuth 앱이 {max}개 있어요
oauth_authorizations
- 404oauth_authorizations.not_found앱 인가를 찾을 수 없어요
org
- 403org.deleted이 조직은 삭제되었어요
- 404org.not_found조직을 찾을 수 없어요
- 403org.suspended이 조직은 일시 정지되었어요: 로그인이 차단되었지만 데이터는 보관돼요. 관리자에게 문의하세요
profiles
- 400profiles.unknown알 수 없는 데이터 프로필: '{key}'
quality
- 400quality.filter_invalid{reason}
- 409quality.followup_closed이미 닫힌 지식 빈틈이에요
- 404quality.followup_not_found처리 중인 지식 빈틈을 찾을 수 없어요
query
- 422query.invalid_date잘못된 날짜: {value}
questions
- 400questions.answer_empty답변이 비어 있어 카드로 저장할 수 없어요
- 404questions.answer_table_not_found답변에서 표를 찾을 수 없어요
- 404questions.dataset_not_found데이터 세트를 찾을 수 없어요
- 400questions.export_formatformat 값은 pdf, xlsx, csv, docx, md 중 하나여야 해요
- 400questions.export_rowsrows 값은 0부터 시작하는 표 행 번호를 쉼표로 구분해 나열해야 하며, 범위는 하이픈으로 써요(0-4,7)
- 422questions.invalid_feedback_filterfeedback 값은 positive, negative, rated, none, unanswered 중 하나여야 해요
- 422questions.invalid_q_fieldq_field 값은 all 또는 question이어야 해요
- 422questions.invalid_view_as_filterview_as 값은 only 또는 exclude여야 해요
- 404questions.not_found질문을 찾을 수 없어요
- 400questions.save_card_error{reason}
sources
- 400sources.connection_kind_mismatch이 연결은 {kind}용이며 이 소스용이 아니에요
- 404sources.connection_not_found소스 연결을 찾을 수 없어요
- 403sources.connection_not_usable이 연결은 다른 사용자의 연결이거나 비활성화되었어요
- 403sources.feature_disabled조직의 요금제에 원클릭 소스 커넥터가 포함되어 있지 않아요
- 400sources.folder_invalid폴더가 소스 컬렉션에 없거나 그 폴더에 카드를 추가할 수 없어요
- 400sources.invalid_config잘못된 소스 설정: {reason}
- 400sources.kind_not_allowed_for_keyAPI 키로는 사용자 지정 소스만 생성하고 변경할 수 있어요. 다른 소스는 브라우저에서 연결하세요
- 404sources.not_found소스를 찾을 수 없어요
- 422sources.push_batch_rejected일부 문서가 거부되어 배치가 적용되지 않았어요. details.results를 확인하세요
- 400sources.push_document_invalid{reason}
- 404sources.push_document_not_found소스에서 문서를 찾을 수 없어요
- 409sources.push_initial_required증분 동기화 전에 최초 동기화를 완료해 주세요
- 401sources.push_key_invalid소스 API 키가 없거나 잘못되었거나 폐기되었어요
- 404sources.push_key_not_found소스 API 키를 찾을 수 없어요
- 409sources.push_sync_closed동기화가 닫혔거나 만료되었어요. 새 동기화를 여세요
- 404sources.push_sync_not_found동기화를 찾을 수 없어요
- 409sources.push_sync_open이 소스에 다른 동기화가 열려 있어요. 그 동기화를 닫거나 만료될 때까지 기다려 주세요
- 409sources.push_too_many_documents소스가 요금제의 문서 한도에 도달했어요
- 400sources.push_unsupported이 소스는 보낸 문서를 받지 않아요(사용자 지정 소스만 받아요)
tasks
- 400tasks.invalid_scopescope 값은 'mine' 또는 'team'이어야 해요
- 403tasks.team_forbidden팀 보기는 관리자와 검증자만 사용할 수 있어요
- 400tasks.user_account_required개인 할 일은 API 키가 아닌 사용자 계정에 속해요
uploads
- 409uploads.already_used이미 사용된 업로드예요
- 422uploads.checksum_mismatchSHA-256 체크섬이 일치하지 않아요({reason})
- 410uploads.expired업로드가 만료되었어요
- 409uploads.incomplete업로드에 파트 {missing_count}개가 빠져 있어요
- 404uploads.not_found업로드를 찾을 수 없어요
- 409uploads.not_ready업로드가 아직 준비되지 않았어요(상태 {status})
- 400uploads.part_invalid{n}번 업로드 파트가 잘못되었어요: {reason}
- 422uploads.purpose_mismatch이 업로드는 {expected}용이 아니라 {purpose}용으로 생성되었어요
- 422uploads.rejected업로드가 거부되었어요: {reason}
- 409uploads.state_conflict{status} 상태의 업로드에서는 이 처리를 할 수 없어요
- 503uploads.storage_unavailable파일 스토리지를 일시적으로 사용할 수 없어요. 잠시 후 다시 시도해 주세요
- 413uploads.too_large파일이 업로드 한도 {limit_bytes}바이트보다 커요
- 415uploads.unsupported_format{purpose} 용도로는 확장자가 {extension}인 파일을 업로드할 수 없어요
users
- 422users.display_name_empty표시 이름은 비워 둘 수 없어요
- 409users.email_taken조직에 이 이메일을 쓰는 사용자가 이미 있어요
- 400users.inactive_assignment비활성 사용자는 지정할 수 없어요
- 409users.last_admin조직에는 활성 관리자가 한 명 이상 있어야 해요
- 409users.managed_by_scim이 계정은 ID 제공자(SCIM)가 관리해요. 그곳에서 변경하세요
- 404users.not_found사용자를 찾을 수 없어요
- 400users.not_in_org조직에서 사용자를 찾을 수 없어요
- 400users.offboard_target넘겨받을 사람은 오프보딩 대상이 아닌, 같은 조직의 활성 사용자여야 해요
- 403users.password_not_allowed이 계정은 ID 제공자를 통해 로그인하므로 비밀번호가 없어요. 관리자가 재설정 링크로 비밀번호를 추가할 수 있어요
- 400users.unknown_or_inactive알 수 없거나 비활성인 사용자: {ids}
- 400users.update_invalid{reason}
- 409users.username_taken조직에 이 사용자 이름을 쓰는 사용자가 이미 있어요
users_import
- 422users_import.csv_invalid올바른 CSV 파일이 아니에요: {reason}
- 422users_import.empty파일에 머리글 다음 행이 없어요
- 422users_import.no_email_column머리글에 이메일 열(email, e-mail, mail)이 없어요. 찾은 열: {columns}
- 413users_import.too_many_rows파일에 행이 {rows}개 있어요. 한 번에 최대 {limit}개 행만 가져올 수 있어요
validation
- 422validation.failed요청 유효성 검사에 실패했어요
verification
- 409verification.absolute_expired검증 날짜가 지났어요. 검증하기 전에 새 검증 주기를 설정하세요
- 409verification.archived보관된 카드예요
- 400verification.date_required미래 날짜가 필요해요
- 422verification.invalid_actionkind 값은 view 또는 copy여야 해요
- 400verification.invalid_interval검증 주기는 1~3650일이어야 해요
- 422verification.invalid_modemode 값은 up_first 또는 all이어야 해요
- 400verification.invalid_reasonreason 값은 manual, automation, requested 중 하나여야 해요
- 422verification.invalid_sort알 수 없는 정렬 필드 또는 순서예요
- 400verification.invalid_type검증 유형은 relative, absolute, manual 중 하나여야 해요
- 409verification.self_remind이 카드의 검증자는 본인뿐이에요. 알림을 보낼 사람이 없어요
- 400verification.verifier_required검증자가 한 명 이상 필요해요
view_as
- 403view_as.admin_key_requiredX-View-As 헤더에는 admin 역할의 API 키가 필요해요
- 400view_as.invalid_headerX-View-As 값은 <profile>[:viewer|verifier|editor] 형식이어야 하며, 존재하는 프로필이어야 해요
- 403view_as.read_only보기 모드: 다른 프로필로 보는 동안에는 변경할 수 없어요
webhooks
- 400webhooks.access_invalid웹훅의 역할, 페이로드 모드, 데이터 프로필, 컬렉션 또는 태그가 잘못되었어요
- 400webhooks.auth_invalid발신 인증은 토큰을 쓰는 bearer 방식이거나 사용자 이름과 비밀번호를 쓰는 basic 방식이어야 해요
- 403webhooks.collections_outside_key이 API 키는 컬렉션으로 제한되어 있어요. 웹훅의 collection_ids에는 키의 컬렉션만 나열해 주세요
- 404webhooks.delivery_not_found웹훅 전송을 찾을 수 없어요
- 400webhooks.description_too_long웹훅 설명이 200자를 넘어요
- 409webhooks.endpoint_disabled웹훅이 비활성화되어 있어요. 먼저 활성화하세요
- 409webhooks.event_not_permitted웹훅이 지금은 이 이벤트를 받을 수 없어요. 역할, 데이터 프로필, 컬렉션 또는 태그가 더 이상 허용하지 않으므로 전송을 반복하지 않아요
- 400webhooks.events_required이벤트를 하나 이상 구독하세요
- 403webhooks.feature_disabled조직의 요금제에 웹훅이 포함되어 있지 않아요
- 400webhooks.headers_invalid사용자 지정 웹훅 헤더가 잘못되었어요: 헤더는 최대 10개, 이름은 예약된 이름이 아닌 문자, 숫자, 하이픈 조합, 값은 최대 1024바이트여야 해요
- 400webhooks.invalid_url웹훅 수신 주소는 자격 증명이 포함되지 않은 절대 https 주소여야 해요
- 404webhooks.not_found웹훅을 찾을 수 없어요
- 400webhooks.overlap_invalid교체 유예 기간은 0~168시간이어야 해요
- 400webhooks.private_address웹훅 호스트가 사설 또는 예약된 네트워크 주소로 확인돼요
- 400webhooks.redeliver_invalid재전송 기간은 최근 30일 이내여야 하고 since가 until보다 앞서야 하며, 상태는 success, exhausted, cancelled 중 하나여야 해요
- 409webhooks.too_many조직에는 웹훅을 최대 20개까지 만들 수 있어요
- 400webhooks.unknown_event알 수 없는 웹훅 이벤트: {type}
- 400webhooks.unresolvable웹훅 호스트의 주소를 확인할 수 없어요