오류 코드
/v1의 모든 오류는 본문 형식이 같습니다. error는 분기에 쓸 수 있는 안정적인 코드이고, message는 한 문장으로 설명하며, docs는 이 페이지로 연결됩니다.
오류 메시지는 API가 반환하는 그대로 영어로 표시하며, 아래에 한국어 번역을 함께 싣습니다.
{
"error": "scope_required",
"scope": "revenue:read",
"message": "The key does not carry the scope this endpoint needs.",
"docs": "https://storelift.net/docs/api/errors#scope_required"
}| 코드 | 상태 | 메시지 |
|---|---|---|
missing_api_key | 401 | Send the key in the Authorization: Bearer header or x-api-key.키를 Authorization: Bearer 헤더 또는 x-api-key로 보내세요. |
invalid_api_key | 401 | The key is not valid.키가 유효하지 않습니다. |
invalid_token | 401 | The access token is not valid or has expired.액세스 토큰이 유효하지 않거나 만료되었습니다. |
account_deleted | 401 | The account behind this key was deleted.이 키의 계정이 삭제되었습니다. |
key_expired | 401 | The key has expired. Create a new one in Settings › API.키가 만료되었습니다. 설정 › API에서 새 키를 만드세요. |
key_revoked | 401 | The key was revoked.키가 폐기되었습니다. |
key_budget_reached | 402 | This key has used its monthly credit budget. Raise or remove the budget in Settings › API; other keys are not affected.이 키는 월간 크레딧 예산을 모두 사용했습니다. 설정 › API에서 예산을 늘리거나 없애세요. 다른 키에는 영향이 없습니다. |
key_limit | 403 | This workspace has more live keys than it is entitled to, so this key is on hold. Delete a key in Settings › API or upgrade the plan.이 워크스페이스에는 허용된 수보다 많은 라이브 키가 있어 이 키는 보류 상태입니다. 설정 › API에서 키를 삭제하거나 플랜을 업그레이드하세요. |
key_leaked | 401 | The key was revoked after it was found in a public repository. Create a new one in Settings › API.공개 저장소에서 발견되어 키가 폐기되었습니다. 설정 › API에서 새 키를 만드세요. |
ip_not_allowed | 403 | This key is restricted to other IP addresses (Settings › API › IP allow list).이 키는 다른 IP 주소로 제한되어 있습니다(설정 › API › IP 허용 목록). |
key_paused | 403 | The key is paused. Resume it in Settings › API.키가 일시 중지되었습니다. 설정 › API에서 재개하세요. |
plan_required | 403 | The API is on the Pro plan and above; MCP is on every plan.API는 Pro 플랜 이상에서, MCP는 모든 플랜에서 사용할 수 있습니다. |
scope_required | 403 | The key does not carry the scope this endpoint needs.이 키에는 이 엔드포인트에 필요한 권한 범위가 없습니다. |
app_not_allowed | 403 | The key is restricted to other apps.이 키는 다른 앱으로 제한되어 있습니다. |
credits_exhausted | 402 | This month's API credits are used up.이번 달 API 크레딧을 모두 사용했습니다. |
rate_limited | 429 | Too many requests for this key. Slow down and retry.이 키의 요청이 너무 많습니다. 속도를 늦추고 다시 시도하세요. |
daily_hive_limit | 429 | Today's Hive request allowance is used up. It resets at 00:00 UTC.오늘의 Hive 요청 한도를 모두 사용했습니다. 00:00 UTC에 재설정됩니다. |
bad_country | 400 | Send a two-letter storefront code, e.g. country=us.두 글자 스토어프런트 코드를 보내세요. 예: country=us. |
unsupported_platform | 400 | This metric source supports iOS. Send platform=ios.이 지표 소스는 iOS를 지원합니다. platform=ios를 보내세요. |
bad_days | 400 | Send a whole number of days between 1 and 90.1에서 90 사이의 정수 일수를 보내세요. |
hive_read_failed | 400 | Hive could not read this observation. Retry shortly.Hive가 이 관측값을 읽지 못했습니다. 잠시 후 다시 시도하세요. |
hive_write_failed | 400 | Hive could not save this observation. Retry shortly.Hive가 이 관측값을 저장하지 못했습니다. 잠시 후 다시 시도하세요. |
bad_kind | 400 | kind must be one of grossing, free, paid, ipad.kind는 grossing, free, paid, ipad 중 하나여야 합니다. |
bad_genre | 400 | Send genre as an App Store genre id (e.g. 6014) or a category key such as games.genre는 App Store 장르 ID(예: 6014) 또는 games 같은 카테고리 키로 보내세요. |
bad_day | 400 | Send day as YYYY-MM-DD, no later than yesterday.day는 YYYY-MM-DD 형식으로, 어제까지의 날짜로 보내세요. |
bad_goal | 400 | Send goal as downloads, rank or revenue.goal은 downloads, rank 또는 revenue로 보내세요. |
bad_range | 400 | Send from and to as YYYY-MM-DD, from on or before to.from과 to는 YYYY-MM-DD 형식으로, from이 to와 같거나 앞서도록 보내세요. |
bad_term | 400 | Send a keyword of 1–150 characters.1–150자의 키워드를 보내세요. |
bad_app_id | 400 | Send an App Store id (digits) or a Play package name.App Store ID(숫자) 또는 Play 패키지 이름을 보내세요. |
not_measured | 404 | No verified observation is available for the requested app, keyword or scope. Missing data is not zero. Check the request parameters and follow the linked documentation for available actions. |
not_connected | 404 | This source is not connected to the workspace. Connect it under Settings › Connections.이 소스는 워크스페이스에 연결되어 있지 않습니다. 설정 › 연결에서 연결하세요. |
bad_query | 400 | Send q with 1–120 characters.q는 1–120자로 보내세요. |
bad_id | 400 | Send an id from a /v1/search result./v1/search 결과에 있는 ID를 보내세요. |
no_filters | 400 | Send at least one filter; the accepted filters are listed in filters.필터를 하나 이상 보내세요. 사용할 수 있는 필터는 filters에 나열되어 있습니다. |
bad_filter | 400 | A filter value is malformed; the field is named in the response. Ranges take numbers, min on or below max.필터 값의 형식이 잘못되었습니다. 해당 필드는 응답에 표시됩니다. 범위에는 숫자를 쓰고, min은 max 이하여야 합니다. |
bad_cursor | 400 | The cursor is malformed or expired. Pass meta.pagination.nextCursor from the previous response unchanged.커서의 형식이 잘못되었거나 만료되었습니다. 이전 응답의 meta.pagination.nextCursor를 그대로 넘기세요. |
bad_ids | 400 | Send ids as a comma-separated list, between min and max apps.ids는 쉼표로 구분한 목록으로, min개 이상 max개 이하의 앱을 보내세요. |
explorer_required | 403 | This endpoint is not open on this account. Hive endpoints run on purchased API credits or Hive Explorer; keyword gap, keyword research and keyword metrics are Hive Explorer only. See https://storelift.net/hive/api이 엔드포인트는 이 계정에서 열려 있지 않습니다. Hive 엔드포인트는 구매한 API 크레딧 또는 Hive Explorer로 동작하며, 키워드 갭, 키워드 조사, 키워드 지표는 Hive Explorer 전용입니다. https://storelift.net/hive/api 를 참고하세요 |
method_not_allowed | 405 | Reads are GET; POST is taken on /v1/actions, /v1/actions/confirm, /v1/apps/{id}/validate-listing and /v1/hive/keywords/{term}/metrics/measure.읽기는 GET입니다. POST는 /v1/actions, /v1/actions/confirm, /v1/apps/{id}/validate-listing, /v1/hive/keywords/{term}/metrics/measure에서 받습니다. |
bad_metrics | 400 | metrics is a list of popularity and/or difficulty, each at most once.metrics는 popularity와 difficulty 중 하나 또는 둘 다를 담은 목록이며, 각각 한 번까지만 쓸 수 있습니다. |
bad_wait | 400 | wait is a whole number of seconds from 0 to 20.wait는 0에서 20 사이의 정수(초)입니다. |
hive_measurement_unavailable | 503 | Hive measurement is not available right now. Nothing was used; retry shortly.지금은 Hive 측정을 사용할 수 없습니다. 아무것도 차감되지 않았습니다. 잠시 후 다시 시도하세요. |
hive_measurement_queue_failed | 503 | The measurement could not be queued. Nothing was charged; retry shortly.측정을 대기열에 넣지 못했습니다. 과금되지 않았습니다. 잠시 후 다시 시도하세요. |
hive_measurement_failed | 503 | The source attempt failed. Valid metrics stay in the response; retry later.소스 시도가 실패했습니다. 유효한 지표는 응답에 남습니다. 나중에 다시 시도하세요. |
hive_measurement_incomplete | 503 | The job finished without a result for every requested metric. Valid metrics stay in the response.요청한 지표 중 일부의 결과 없이 작업이 끝났습니다. 유효한 지표는 응답에 남습니다. |
hive_measurement_deferred | 503 | The source deferred this job. Valid metrics stay in the response; retry later.소스가 이 작업을 뒤로 미뤘습니다. 유효한 지표는 응답에 남습니다. 나중에 다시 시도하세요. |
hive_measurement_not_started | 503 | No measurement job is running for this keyword. Retry the request.이 키워드에 대해 실행 중인 측정 작업이 없습니다. 요청을 다시 보내세요. |
unknown_action | 400 | No such action. Call POST /v1/actions with one of the listed actions.그런 액션은 없습니다. 나열된 액션 중 하나로 POST /v1/actions를 호출하세요. |
invalid_arguments | 400 | An argument is missing or malformed; the field is named in the response.인수가 빠졌거나 형식이 잘못되었습니다. 해당 필드는 응답에 표시됩니다. |
confirm_token_invalid | 400 | The confirmation token is unknown or was already used. Preview the action again.확인 토큰을 알 수 없거나 이미 사용되었습니다. 액션을 다시 미리 보세요. |
confirm_token_expired | 400 | The confirmation token expired. Preview the action again.확인 토큰이 만료되었습니다. 액션을 다시 미리 보세요. |
confirm_token_mismatch | 409 | The target changed after the preview. Preview the action again and re-read the diff.미리보기 이후 대상이 바뀌었습니다. 액션을 다시 미리 보고 차이를 다시 읽으세요. |
write_limit_reached | 403 | This write is outside the guardrails for the action (see reason).이 쓰기는 해당 액션의 가드레일을 벗어납니다(reason 참고). |
key_in_url | 400 | API keys are not accepted in the URL, where logs and proxies keep them. Send the key in the x-api-key header (or Authorization: Bearer) and rotate this one.API 키는 URL에서 받지 않습니다. URL은 로그와 프록시에 남기 때문입니다. 키는 x-api-key 헤더(또는 Authorization: Bearer)로 보내고, 이 키는 교체하세요. |
test_key_read_only | 403 | Test keys (sl_test_) never write.테스트 키(sl_test_)는 절대 쓰지 않습니다. |
job_not_found | 404 | No such job in this workspace.이 워크스페이스에 그런 작업은 없습니다. |
workspace_suspended | 403 | This workspace is suspended. Contact support@storelift.net.이 워크스페이스는 정지되었습니다. support@storelift.net으로 문의하세요. |
ip_list_required | 403 | This workspace requires every key to carry an IP allow list. Add one in Settings › API.이 워크스페이스는 모든 키에 IP 허용 목록을 요구합니다. 설정 › API에서 추가하세요. |
already_measuring | 409 | A measurement for this app is already running.이 앱의 측정이 이미 실행 중입니다. |
ai_limit | 429 | This month's AI visibility runs are used. The response carries limit and resetsAt.이번 달 AI 가시성 실행을 모두 사용했습니다. 응답에 limit과 resetsAt이 담깁니다. |
in_progress | 409 | A write for this target is already running. Wait for it to finish.이 대상에 대한 쓰기가 이미 실행 중입니다. 끝날 때까지 기다리세요. |
asc_required | 403 | Connect App Store Connect under Settings › Connections first.먼저 설정 › 연결에서 App Store Connect를 연결하세요. |
asc_role | 403 | The App Store Connect key needs the Admin or App Manager role to edit metadata.메타데이터를 편집하려면 App Store Connect 키에 Admin 또는 App Manager 역할이 필요합니다. |
asc_rejected | 502 | App Store Connect refused the change; its own message is in detail.App Store Connect가 변경을 거부했습니다. App Store Connect의 메시지는 detail에 있습니다. |
asc_unavailable | 502 | App Store Connect could not be reached. Retry in a moment.App Store Connect에 연결할 수 없습니다. 잠시 후 다시 시도하세요. |
ios_only | 403 | This action needs the App Store side of the app.이 액션에는 앱의 App Store 쪽이 필요합니다. |
no_editable_version | 404 | No editable App Store version. Metadata can only change while a version is in Prepare for Submission or rejected — the current states are listed.편집할 수 있는 App Store 버전이 없습니다. 메타데이터는 버전이 '제출 준비 중'이거나 거부된 상태일 때만 변경할 수 있습니다. 현재 상태가 나열되어 있습니다. |
locale_not_found | 404 | That storefront language is not on the version; the available locales are listed.해당 스토어프런트 언어는 이 버전에 없습니다. 사용할 수 있는 로케일이 나열되어 있습니다. |
changed_since_preview | 409 | The listing changed in App Store Connect after the preview. Nothing was written — preview again.미리보기 이후 App Store Connect에서 등록 정보가 바뀌었습니다. 아무것도 쓰지 않았습니다. 다시 미리 보세요. |
ai_text_limit | 429 | This month's AI writing allowance is used up. resetsAt says when it renews; Settings › Plan adds more.이번 달 AI 작성 한도를 모두 사용했습니다. resetsAt이 갱신 시점을 알려 주며, 설정 › 플랜에서 추가할 수 있습니다. |
ai_not_configured | 503 | The AI writer is starting up. Retry in a moment.AI 작성기가 시작되는 중입니다. 잠시 후 다시 시도하세요. |
ai_failed | 502 | The AI writer returned an answer we could not read. Retry in a moment.AI 작성기가 읽을 수 없는 응답을 반환했습니다. 잠시 후 다시 시도하세요. |
audit_failed | 502 | The storefront scan stopped midway. Start it again with refresh.스토어프런트 스캔이 중간에 멈췄습니다. refresh로 다시 시작하세요. |
review_ai_limit | 429 | This month's Review AI allowance is used up. resetsAt says when it renews; Settings › Plan adds more.이번 달 리뷰 AI 한도를 모두 사용했습니다. resetsAt이 갱신 시점을 알려 주며, 설정 › 플랜에서 추가할 수 있습니다. |
review_not_found | 404 | No review with that id in the stored reviews for this storefront. Take the id from get_reviews or search_reviews.이 스토어프런트의 저장된 리뷰에 해당 ID의 리뷰가 없습니다. ID는 get_reviews 또는 search_reviews에서 가져오세요. |
bad_locale | 400 | The locale is two letters, an underscore and two letters, e.g. de_de, pt_br.로케일은 두 글자, 밑줄, 두 글자 형식입니다. 예: de_de, pt_br. |
no_audit | 409 | Localization writes from the storefront audit's source listing. Run get_storefront_audit with start for this app, then call again.현지화는 스토어프런트 점검의 원본 등록 정보를 바탕으로 작성합니다. 이 앱에 대해 get_storefront_audit를 start와 함께 실행한 뒤 다시 호출하세요. |
no_storefront | 409 | No storefront of this app reads that locale. Pick a locale the storefront audit lists.이 앱의 어떤 스토어프런트도 해당 로케일을 읽지 않습니다. 스토어프런트 점검에 나열된 로케일을 고르세요. |
measure_busy | 503 | Apple's search is answering slowly this minute; call again shortly. Nothing was used.지금 Apple 검색의 응답이 느립니다. 잠시 후 다시 호출하세요. 아무것도 차감되지 않았습니다. |
localize_quota | 429 | This plan's listing writes for the period are used. The response carries limit, used and period.이 플랜의 이번 기간 등록 정보 작성 횟수를 모두 사용했습니다. 응답에 limit, used, period가 담깁니다. |
no_job | 404 | No localization is running for that locale. Call without poll to start one.해당 로케일에 대해 실행 중인 현지화가 없습니다. 시작하려면 poll 없이 호출하세요. |
ai_timeout | 504 | The AI writer took too long. Retry in a moment; the allowance was returned.AI 작성기가 너무 오래 걸렸습니다. 잠시 후 다시 시도하세요. 한도는 반환되었습니다. |
not_found | 404 | No such app in this workspace.이 워크스페이스에 그런 앱은 없습니다. |
unknown_endpoint | 404 | No such endpoint.그런 엔드포인트는 없습니다. |