错误代码
来自 /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.此密钥仅限其他 App 使用。 |
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 请以逗号分隔的列表发送,App 数量介于 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.不接受在 URL 中传递 API 密钥,因为日志和代理会保留 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.此 App 的测量已在运行。 |
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 拒绝了此更改;它自己的消息在 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 的 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 的评论。请从 get_reviews 或 search_reviews 获取 ID。 |
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.本地化以店面审核的源商店文案为基础撰写。请先为此 App 带 start 运行 get_storefront_audit,然后再次调用。 |
no_storefront | 409 | No storefront of this app reads that locale. Pick a locale the storefront audit lists.此 App 没有任何店面读取该语言区域。请选择店面审核中列出的语言区域。 |
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.此工作区中没有这个 App。 |
unknown_endpoint | 404 | No such endpoint.没有这个端点。 |