{"openapi":"3.1.0","info":{"title":"ScopeAI GEO API and Agent Discovery","version":"v1-agents-0.2","description":"GEO 品牌项目、公开资料观察、模型回答采样、周期监测，以及完成这些任务所需的账户与计费契约。实际开放目标与价格以 capabilities、pricing 和 geo/targets 为准。资料观察不代表各 AI 产品的真实回答；模型 API 采样不等同于消费端网页或 App。"},"servers":[{"url":"https://scopeai.cc"}],"security":[{"bearerAuth":[]}],"paths":{"/api/v1/account/balance":{"get":{"summary":"免费查询人民币总额、冻结、可用和累计消费","parameters":[],"responses":{"200":{"description":"成功，费用以 meta.billing 为准","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Balance"}}}},"400":{"description":"输入错误","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"密钥无效或已撤销","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"可用余额不足，未扣款","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"未授权或产品未开放","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"价格、幂等或内容版本冲突","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"频率超过限制；遵守 Retry-After","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"服务暂不可用","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/account/transactions":{"get":{"summary":"免费分页查询自己的充值、消费和服务退款","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":20}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"sku","in":"query","required":false,"schema":{"enum":["geo.research.standard","geo.measurement.standard","geo.article.standard"]}},{"name":"from","in":"query","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"to","in":"query","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"resource_key","in":"query","required":false,"schema":{"type":"string","description":"GEO 任务编号"}}],"responses":{"200":{"description":"成功，费用以 meta.billing 为准","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Transactions"}}}},"400":{"description":"输入错误","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"密钥无效或已撤销","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"可用余额不足，未扣款","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"未授权或产品未开放","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"价格、幂等或内容版本冲突","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"频率超过限制；遵守 Retry-After","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"服务暂不可用","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/geo/balance":{"get":{"summary":"兼容原接口；免费；balanceCents 是账本总额","parameters":[],"responses":{"200":{"description":"成功，费用以 meta.billing 为准","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LegacyBalance"}}}},"401":{"description":"密钥无效或已撤销","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LegacyError"}}}},"429":{"description":"频率超过限制；遵守 Retry-After","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LegacyError"}}}},"503":{"description":"服务暂不可用","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LegacyError"}}}}}}},"/api/v1/geo/projects":{"get":{"summary":"兼容原接口；免费读取自己的品牌项目","parameters":[],"responses":{"200":{"description":"成功，费用以 meta.billing 为准","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LegacyProjects"}}}},"401":{"description":"密钥无效或已撤销","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LegacyError"}}}},"429":{"description":"频率超过限制；遵守 Retry-After","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LegacyError"}}}},"503":{"description":"服务暂不可用","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LegacyError"}}}}}},"post":{"summary":"创建品牌项目，不运行上游模型","parameters":[],"x-required-scopes":["geo:write"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectInput"}}}},"responses":{"201":{"description":"成功","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Project"},"meta":{"type":"object","properties":{"request_id":{"type":"string","format":"uuid"},"next_cursor":{"type":["string","null"]}},"required":["request_id"],"additionalProperties":true}},"required":["data","meta"],"additionalProperties":false}}}},"400":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/geo/targets":{"get":{"summary":"真实可用采集目标和当前价格，免费","parameters":[],"responses":{"200":{"description":"成功","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Target"}},"meta":{"type":"object","properties":{"request_id":{"type":"string","format":"uuid"},"next_cursor":{"type":["string","null"]}},"required":["request_id"],"additionalProperties":true}},"required":["data","meta"],"additionalProperties":false}}}},"400":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/geo/projects/{id}":{"get":{"summary":"读取自己的品牌项目","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"成功","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Project"},"meta":{"type":"object","properties":{"request_id":{"type":"string","format":"uuid"},"next_cursor":{"type":["string","null"]}},"required":["request_id"],"additionalProperties":true}},"required":["data","meta"],"additionalProperties":false}}}},"400":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"patch":{"summary":"以revision校验修改或归档品牌","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"x-required-scopes":["geo:write"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ProjectPatch"}}}},"responses":{"200":{"description":"成功","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Project"},"meta":{"type":"object","properties":{"request_id":{"type":"string","format":"uuid"},"next_cursor":{"type":["string","null"]}},"required":["request_id"],"additionalProperties":true}},"required":["data","meta"],"additionalProperties":false}}}},"400":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/geo/projects/{id}/questions":{"get":{"summary":"读取题库与版本","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"成功","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"revision":{"type":"integer"},"questions":{"maxItems":50,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"question":{"type":"string","minLength":4,"maxLength":500},"scene":{"type":"string","minLength":1,"maxLength":60},"origin":{"type":"string","enum":["preset","public_question","social","shared_ai","customer_support","site_search","manual","generated"]},"sourceName":{"type":"string","minLength":1,"maxLength":120},"sourceUrl":{"type":"string","maxLength":2048,"format":"uri"},"excerpt":{"default":"","type":"string","maxLength":1000},"collectedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"enabled":{"type":"boolean"}},"required":["id","question","scene","origin","sourceName","excerpt","collectedAt","enabled"],"additionalProperties":false}}},"required":["revision","questions"],"additionalProperties":false},"meta":{"type":"object","properties":{"request_id":{"type":"string","format":"uuid"},"next_cursor":{"type":["string","null"]}},"required":["request_id"],"additionalProperties":true}},"required":["data","meta"],"additionalProperties":false}}}},"400":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"put":{"summary":"替换题库，不调用模型","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"x-required-scopes":["geo:write"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"revision":{"type":"integer","minimum":1},"questions":{"maxItems":50,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"question":{"type":"string","minLength":4,"maxLength":500},"scene":{"type":"string","minLength":1,"maxLength":60},"origin":{"type":"string","enum":["preset","public_question","social","shared_ai","customer_support","site_search","manual","generated"]},"sourceName":{"type":"string","minLength":1,"maxLength":120},"sourceUrl":{"type":"string","maxLength":2048,"format":"uri"},"excerpt":{"default":"","type":"string","maxLength":1000},"collectedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"enabled":{"type":"boolean"}},"required":["id","question","scene","origin","sourceName","excerpt","collectedAt","enabled"],"additionalProperties":false}}},"required":["revision","questions"],"additionalProperties":false}}}},"responses":{"200":{"description":"成功","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Project"},"meta":{"type":"object","properties":{"request_id":{"type":"string","format":"uuid"},"next_cursor":{"type":["string","null"]}},"required":["request_id"],"additionalProperties":true}},"required":["data","meta"],"additionalProperties":false}}}},"400":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/geo/quotes":{"post":{"summary":"获取15分钟报价，不冻结、不调用上游","parameters":[],"x-required-scopes":["geo:write"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaidQuoteInput"}}}},"responses":{"201":{"description":"成功","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Quote"}}}},"400":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/geo/checks":{"post":{"summary":"接受报价，原子创建任务和冻结；同编号重试返回同一任务","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[A-Za-z0-9._:-]+$"}}],"x-required-scopes":["geo:run"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaidAcceptInput"}}}},"responses":{"202":{"description":"成功","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Check"},"meta":{"type":"object","properties":{"request_id":{"type":"string","format":"uuid"},"next_cursor":{"type":["string","null"]}},"required":["request_id"],"additionalProperties":true}},"required":["data","meta"],"additionalProperties":false}}}},"400":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"402":{"description":"可用余额不足，未冻结","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/geo/checks/{id}":{"get":{"summary":"任务进度、报告摘要与结算","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"成功","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Check"},"meta":{"type":"object","properties":{"request_id":{"type":"string","format":"uuid"},"next_cursor":{"type":["string","null"]}},"required":["request_id"],"additionalProperties":true}},"required":["data","meta"],"additionalProperties":false}}}},"400":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/geo/checks/{id}/answers":{"get":{"summary":"已购买回答与证据分页，免费","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":20}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"成功","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Unit"}},"meta":{"type":"object","properties":{"request_id":{"type":"string","format":"uuid"},"next_cursor":{"type":["string","null"]}},"required":["request_id"],"additionalProperties":true}},"required":["data","meta"],"additionalProperties":false}}}},"400":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/geo/checks/{id}/sources":{"get":{"summary":"已购买来源与引用分页，免费","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":20}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"成功","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"state":{"type":"string"},"sources":{"type":"array","items":{"type":"object"}}},"required":["id","state","sources"],"additionalProperties":false}},"meta":{"type":"object","properties":{"request_id":{"type":"string","format":"uuid"},"next_cursor":{"type":["string","null"]}},"required":["request_id"],"additionalProperties":true}},"required":["data","meta"],"additionalProperties":false}}}},"400":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/geo/checks/{id}/cancel":{"post":{"summary":"停止尚未结算单元，释放剩余冻结；已有成功消费保留","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{},"required":[],"additionalProperties":false}}}},"responses":{"200":{"description":"成功","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/Check"},"meta":{"type":"object","properties":{"request_id":{"type":"string","format":"uuid"},"next_cursor":{"type":["string","null"]}},"required":["request_id"],"additionalProperties":true}},"required":["data","meta"],"additionalProperties":false}}}},"400":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/geo/checks/{id}/export":{"get":{"summary":"导出自己的已有结果，最多100单元","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"format","in":"query","required":false,"schema":{"enum":["json","csv"],"default":"json"}}],"responses":{"200":{"description":"成功","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"check":{"$ref":"#/components/schemas/Check"},"units":{"type":"array","items":{"$ref":"#/components/schemas/Unit"}}},"required":["check","units"],"additionalProperties":false},"meta":{"type":"object","properties":{"request_id":{"type":"string","format":"uuid"},"next_cursor":{"type":["string","null"]}},"required":["request_id"],"additionalProperties":true}},"required":["data","meta"],"additionalProperties":false}},"text/csv":{"schema":{"type":"string"}}}},"400":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/geo/projects/{id}/history":{"get":{"summary":"按产品和目标读取本人历史报告，保留版本便于比较","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":20}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"product","in":"query","required":false,"schema":{"enum":["geo.research.standard","geo.measurement.standard","geo.article.standard"]}},{"name":"target_id","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"成功","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Check"}},"meta":{"type":"object","properties":{"request_id":{"type":"string","format":"uuid"},"next_cursor":{"type":["string","null"]}},"required":["request_id"],"additionalProperties":true}},"required":["data","meta"],"additionalProperties":false}}}},"400":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/geo/schedules":{"get":{"summary":"本人监测计划和暂停原因","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":20}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"成功","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Schedule"}},"meta":{"type":"object","properties":{"request_id":{"type":"string","format":"uuid"},"next_cursor":{"type":["string","null"]}},"required":["request_id"],"additionalProperties":true}},"required":["data","meta"],"additionalProperties":false}}}},"400":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"summary":"单独授权日/周监测和月预算；request_key防止重复计划","parameters":[],"x-required-scopes":["geo:run","geo:schedule"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ScheduleInput"}}}},"responses":{"201":{"description":"成功","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"revision":{"type":"integer"},"enabled":{"type":"boolean"},"next_at":{"type":"string"},"monthly_cents":{"type":"integer"}},"required":["id","revision","enabled"],"additionalProperties":true},"meta":{"type":"object","properties":{"request_id":{"type":"string","format":"uuid"},"next_cursor":{"type":["string","null"]}},"required":["request_id"],"additionalProperties":true}},"required":["data","meta"],"additionalProperties":false}}}},"400":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/geo/schedules/{id}":{"patch":{"summary":"暂停本人监测计划，不要求消费权限；恢复须重新报价和授权","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"revision":{"type":"integer","minimum":1},"enabled":{"const":false}},"required":["revision","enabled"],"additionalProperties":false}}}},"responses":{"200":{"description":"成功","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"enabled":{"const":false},"revision":{"type":"integer"}},"required":["id","enabled","revision"],"additionalProperties":false},"meta":{"type":"object","properties":{"request_id":{"type":"string","format":"uuid"},"next_cursor":{"type":["string","null"]}},"required":["request_id"],"additionalProperties":true}},"required":["data","meta"],"additionalProperties":false}}}},"400":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/account/usage":{"get":{"summary":"成功与失败请求状态、耗时和密钥分页；无效密钥无法归属账户","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":20}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string"}},{"name":"from","in":"query","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"to","in":"query","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"key_id","in":"query","required":false,"schema":{"type":"string","format":"uuid"}},{"name":"status","in":"query","required":false,"schema":{"type":"integer","minimum":100,"maximum":599}}],"responses":{"200":{"description":"成功","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"key_id":{"type":"string","format":"uuid"},"endpoint":{"type":"string"},"method":{"type":"string"},"status":{"type":"integer"},"duration_ms":{"type":"integer"},"error_code":{"type":["string","null"]},"created_at":{"type":"string"}},"required":["id","key_id","endpoint","method","status","duration_ms","error_code","created_at"],"additionalProperties":false}},"meta":{"type":"object","properties":{"request_id":{"type":"string","format":"uuid"},"next_cursor":{"type":["string","null"]}},"required":["request_id"],"additionalProperties":true}},"required":["data","meta"],"additionalProperties":false}}}},"400":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/account/limits":{"get":{"summary":"账户日预算和对账暂停状态；修改额度在登录后的账户页面","parameters":[],"responses":{"200":{"description":"成功","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"daily_cents":{"type":"integer"},"paused":{"type":"boolean"},"reason":{"type":"string"},"key":{"type":"object","properties":{"key_id":{"type":"string","format":"uuid"},"daily_cents":{"type":"integer"}},"required":["key_id","daily_cents"],"additionalProperties":false}},"required":["daily_cents","paused","reason","key"],"additionalProperties":false},"meta":{"type":"object","properties":{"request_id":{"type":"string","format":"uuid"},"next_cursor":{"type":["string","null"]}},"required":["request_id"],"additionalProperties":true}},"required":["data","meta"],"additionalProperties":false}}}},"400":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/account/transactions/export":{"get":{"summary":"按条件导出CSV资金流水，最多10000条；超限请缩小日期范围","parameters":[{"name":"sku","in":"query","required":false,"schema":{"enum":["geo.research.standard","geo.measurement.standard","geo.article.standard"]}},{"name":"from","in":"query","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"to","in":"query","required":false,"schema":{"type":"string","format":"date-time"}},{"name":"resource_key","in":"query","required":false,"schema":{"type":"string","description":"GEO 任务编号"}}],"responses":{"200":{"description":"CSV账单；公式型单元格转为文本","content":{"text/csv":{"schema":{"type":"string"}}}},"400":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"403":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"409":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"503":{"description":"错误代码见响应 error.code；不新增扣费","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/agents/manifest.json":{"get":{"operationId":"describeGeoService","summary":"Free anonymous service discovery","security":[],"responses":{"200":{"description":"Current service manifest","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentMessage"}}}}}}},"/agents/match":{"post":{"operationId":"matchGeoRequest","summary":"Free scope matching; no model calls, project writes or payment","security":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"request_ref":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"intent":{"type":"string","enum":["brand_visibility.observe","answer_citations.inspect","brand_facts.audit","content_changes.prepare","content_changes.execute","visibility_changes.compare"]},"desired_surface":{"type":"string","enum":["consumer_web","consumer_app","model_api","public_sources"]},"target_id":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"language":{"type":"string","minLength":1,"maxLength":80},"market":{"type":"string","minLength":1,"maxLength":80},"desired_deliverables":{"minItems":1,"maxItems":30,"type":"array","items":{"type":"string","minLength":1,"maxLength":80}}},"required":["request_ref","intent","desired_surface","target_id","language","market","desired_deliverables"],"additionalProperties":false}}}},"responses":{"200":{"description":"Supported, partial, unsupported or unknown; not authorization to execute","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AgentMessage"}}}},"400":{"description":"Invalid input"},"413":{"description":"Request too large"}}}},"/agents/prepare":{"post":{"operationId":"prepareGeoOptimization","summary":"Free optimization task handoff; no website inspection, storage, publication or payment","security":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"request_ref":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"brand":{"type":"string","minLength":1,"maxLength":120},"website":{"type":"string","maxLength":2048,"format":"uri"},"goal":{"default":"改善品牌在 AI 搜索中的信息准确性与可见度","type":"string","minLength":1,"maxLength":1000},"execution_access":{"default":"none","type":"string","enum":["none","repository","cms"]},"facts":{"default":[],"maxItems":20,"type":"array","items":{"type":"object","properties":{"statement":{"type":"string","minLength":1,"maxLength":1000},"source_url":{"type":"string","maxLength":2048,"format":"uri"}},"required":["statement","source_url"],"additionalProperties":false}},"customer_questions":{"default":[],"maxItems":20,"type":"array","items":{"type":"string","minLength":4,"maxLength":500}}},"additionalProperties":false}}}},"responses":{"200":{"description":"Missing input or a plan ready for actual site review; supplied facts are not verified","content":{"application/json":{"schema":{"type":"object","required":["contract","version","status","next_action","effects","tasks"]}}}},"400":{"description":"Invalid input"},"403":{"description":"Origin not allowed"},"413":{"description":"Request too large"}}}}},"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"服务端保存的 ScopeAI API key"}},"schemas":{"Balance":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"object","required":["currency","posted_cents","reserved_cents","available_cents","total_charged_cents","total_service_refunded_cents","net_spent_cents"],"properties":{"currency":{"const":"CNY"},"posted_cents":{"type":"integer","description":"人民币分，不使用浮点元"},"reserved_cents":{"type":"integer","description":"人民币分，不使用浮点元"},"available_cents":{"type":"integer","description":"人民币分，不使用浮点元"},"total_charged_cents":{"type":"integer","description":"人民币分，不使用浮点元"},"total_service_refunded_cents":{"type":"integer","description":"人民币分，不使用浮点元"},"net_spent_cents":{"type":"integer","description":"人民币分，不使用浮点元"},"cash_returned_cents":{"type":"integer","minimum":0}}},"meta":{"$ref":"#/components/schemas/Meta"}}},"Check":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"project_id":{"type":"string","format":"uuid"},"state":{"enum":["queued","running","completed","partial","failed","cancelled"]},"product":{"type":"string"},"target_id":{"type":"string"},"target_model":{"type":"string"},"methodology_version":{"type":"string"},"project_revision":{"type":"integer"},"question_version":{"type":"string"},"created_at":{"type":"string"},"updated_at":{"type":"string"},"billing":{"type":"object","properties":{"amount_cents":{"type":"integer"},"charged_cents":{"type":"integer"},"released_cents":{"type":"integer"},"remaining_cents":{"type":"integer"}},"required":["amount_cents","charged_cents","released_cents","remaining_cents"],"additionalProperties":false},"progress":{"type":"object","additionalProperties":{"type":"integer"}},"report":{"type":"object","description":"按 kind 区分资料覆盖和模型API提及；模型提及排除问题中已提示品牌的回答。对比趋势须保持目标、模型、项目版本、题库版本和口径一致。"}},"required":["id","project_id","state","product","billing","report"],"additionalProperties":true},"Error":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["code","message","request_id"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"request_id":{"type":"string"},"details":{"type":"object","additionalProperties":true}}}}},"LegacyBalance":{"type":"object","properties":{"currency":{"const":"CNY"},"balanceCents":{"type":"integer","description":"人民币分，不使用浮点元"},"availableCents":{"type":"integer","description":"人民币分，不使用浮点元"},"frozenCents":{"type":"integer","description":"人民币分，不使用浮点元"},"totalChargedCents":{"type":"integer","description":"人民币分，不使用浮点元"},"calls":{"type":"integer"}}},"LegacyError":{"type":"object","required":["error"],"properties":{"error":{"type":"string"}}},"LegacyProjects":{"type":"object","required":["projects"],"properties":{"projects":{"type":"array","items":{"type":"object"}}}},"Meta":{"type":"object","required":["request_id"],"properties":{"request_id":{"type":"string"},"next_cursor":{"type":["string","null"]}}},"PaidAcceptInput":{"type":"object","properties":{"quote_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"max_charge_cents":{"type":"integer","minimum":0,"maximum":10000}},"required":["quote_id","max_charge_cents"],"additionalProperties":false},"PaidQuoteInput":{"type":"object","properties":{"project_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"revision":{"type":"integer","exclusiveMinimum":0,"maximum":9007199254740991},"product":{"type":"string","enum":["geo.research.standard","geo.measurement.standard","geo.article.standard"]},"target_id":{"type":"string","enum":["public-source-research","deepseek-model-api","doubao-web-search-api","scopeai-article-draft"]},"source_check_id":{"type":"string","format":"uuid","description":"geo.article.standard 必填；本项目已完成且已结算的观察或模型回答采样 ID"},"questions":{"default":[],"maxItems":20,"type":"array","items":{"type":"string","minLength":4,"maxLength":500}},"repeats":{"default":1,"type":"integer","minimum":1,"maximum":5},"max_unit_cents":{"type":"integer","minimum":0,"maximum":10000}},"required":["project_id","revision","product","target_id","questions","repeats","max_unit_cents"],"additionalProperties":false},"Project":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":80},"site":{"anyOf":[{"type":"string","maxLength":2048,"format":"uri"},{"type":"string","const":""}]},"industry":{"type":"string","minLength":1,"maxLength":80},"market":{"type":"string","minLength":1,"maxLength":80},"aliases":{"default":[],"maxItems":10,"type":"array","items":{"type":"string","minLength":2,"maxLength":80}},"competitors":{"default":[],"maxItems":5,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":2,"maxLength":80},"site":{"anyOf":[{"type":"string","maxLength":2048,"format":"uri"},{"type":"string","const":""}]},"aliases":{"default":[],"maxItems":10,"type":"array","items":{"type":"string","minLength":2,"maxLength":80}}},"required":["name","site","aliases"],"additionalProperties":false}},"facts":{"default":"","type":"string","maxLength":8000},"questionLibrary":{"maxItems":50,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"question":{"type":"string","minLength":4,"maxLength":500},"scene":{"type":"string","minLength":1,"maxLength":60},"origin":{"type":"string","enum":["preset","public_question","social","shared_ai","customer_support","site_search","manual","generated"]},"sourceName":{"type":"string","minLength":1,"maxLength":120},"sourceUrl":{"type":"string","maxLength":2048,"format":"uri"},"excerpt":{"default":"","type":"string","maxLength":1000},"collectedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"enabled":{"type":"boolean"}},"required":["id","question","scene","origin","sourceName","excerpt","collectedAt","enabled"],"additionalProperties":false}},"id":{"type":"string","format":"uuid"},"revision":{"type":"integer","minimum":1},"archived":{"type":"boolean"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["id","name","revision","archived"],"additionalProperties":true},"ProjectInput":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":80},"site":{"anyOf":[{"type":"string","maxLength":2048,"format":"uri"},{"type":"string","const":""}]},"industry":{"type":"string","minLength":1,"maxLength":80},"market":{"type":"string","minLength":1,"maxLength":80},"aliases":{"default":[],"maxItems":10,"type":"array","items":{"type":"string","minLength":2,"maxLength":80}},"competitors":{"default":[],"maxItems":5,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":2,"maxLength":80},"site":{"anyOf":[{"type":"string","maxLength":2048,"format":"uri"},{"type":"string","const":""}]},"aliases":{"default":[],"maxItems":10,"type":"array","items":{"type":"string","minLength":2,"maxLength":80}}},"required":["name","site","aliases"],"additionalProperties":false}},"facts":{"default":"","type":"string","maxLength":8000},"questionLibrary":{"maxItems":50,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"question":{"type":"string","minLength":4,"maxLength":500},"scene":{"type":"string","minLength":1,"maxLength":60},"origin":{"type":"string","enum":["preset","public_question","social","shared_ai","customer_support","site_search","manual","generated"]},"sourceName":{"type":"string","minLength":1,"maxLength":120},"sourceUrl":{"type":"string","maxLength":2048,"format":"uri"},"excerpt":{"default":"","type":"string","maxLength":1000},"collectedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"enabled":{"type":"boolean"}},"required":["id","question","scene","origin","sourceName","excerpt","collectedAt","enabled"],"additionalProperties":false}}},"required":["name","site","industry","market","aliases","competitors","facts"],"additionalProperties":false},"ProjectPatch":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":80},"site":{"anyOf":[{"type":"string","maxLength":2048,"format":"uri"},{"type":"string","const":""}]},"industry":{"type":"string","minLength":1,"maxLength":80},"market":{"type":"string","minLength":1,"maxLength":80},"aliases":{"maxItems":10,"type":"array","items":{"type":"string","minLength":2,"maxLength":80}},"competitors":{"maxItems":5,"type":"array","items":{"type":"object","properties":{"name":{"type":"string","minLength":2,"maxLength":80},"site":{"anyOf":[{"type":"string","maxLength":2048,"format":"uri"},{"type":"string","const":""}]},"aliases":{"default":[],"maxItems":10,"type":"array","items":{"type":"string","minLength":2,"maxLength":80}}},"required":["name","site","aliases"],"additionalProperties":false}},"facts":{"type":"string","maxLength":8000},"questionLibrary":{"maxItems":50,"type":"array","items":{"type":"object","properties":{"id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"question":{"type":"string","minLength":4,"maxLength":500},"scene":{"type":"string","minLength":1,"maxLength":60},"origin":{"type":"string","enum":["preset","public_question","social","shared_ai","customer_support","site_search","manual","generated"]},"sourceName":{"type":"string","minLength":1,"maxLength":120},"sourceUrl":{"type":"string","maxLength":2048,"format":"uri"},"excerpt":{"default":"","type":"string","maxLength":1000},"collectedAt":{"type":"string","format":"date-time","pattern":"^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"},"enabled":{"type":"boolean"}},"required":["id","question","scene","origin","sourceName","excerpt","collectedAt","enabled"],"additionalProperties":false}},"archived":{"type":"boolean"},"revision":{"type":"integer","minimum":1,"maximum":9007199254740991}},"additionalProperties":false,"required":["revision"]},"Quote":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"amount_cents":{"type":"integer"},"unit_price_cents":{"type":"integer"},"units":{"type":"integer"},"price_version":{"type":"string"},"expires_at":{"type":"string","format":"date-time"},"target":{"$ref":"#/components/schemas/Target"},"input":{"$ref":"#/components/schemas/PaidQuoteInput"}},"required":["id","amount_cents","unit_price_cents","units","price_version","expires_at"],"additionalProperties":true},"meta":{"type":"object","properties":{"request_id":{"type":"string","format":"uuid"},"next_cursor":{"type":["string","null"]}},"required":["request_id"],"additionalProperties":true}},"required":["data","meta"],"additionalProperties":false},"Schedule":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"project_id":{"type":"string","format":"uuid"},"price_version":{"type":"string"},"max_unit_cents":{"type":"integer"},"monthly_cents":{"type":"integer"},"interval_days":{"enum":[1,7]},"next_at":{"type":"string"},"enabled":{"enum":[0,1]},"revision":{"type":"integer"},"reason":{"type":"string"}},"required":["id","enabled","revision"],"additionalProperties":true},"ScheduleInput":{"type":"object","properties":{"request_key":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[A-Za-z0-9._:-]+$"},"quote_id":{"type":"string","format":"uuid","pattern":"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"},"interval_days":{"anyOf":[{"type":"number","const":1},{"type":"number","const":7}]},"monthly_cents":{"type":"integer","minimum":1,"maximum":100000},"accepted_price_version":{"type":"string","const":"geo-2026-09-v1"}},"required":["request_key","quote_id","interval_days","monthly_cents","accepted_price_version"],"additionalProperties":false},"Target":{"type":"object","properties":{"id":{"type":"string"},"product":{"enum":["geo.research.standard","geo.measurement.standard","geo.article.standard"]},"label":{"type":"string"},"channel":{"enum":["public_sources","model_api","private_draft"]},"model":{"type":"string"},"enabled":{"type":"boolean"},"price_version":{"type":"string"},"unit_price_cents":{"type":"integer","minimum":1},"measurement":{"type":"boolean"},"search_mode":{"type":"string"},"scope":{"type":"string"}},"required":["id","product","label","channel","model","enabled","price_version","unit_price_cents","measurement","search_mode","scope"],"additionalProperties":false},"Transactions":{"type":"object","required":["data","meta"],"properties":{"data":{"type":"array","items":{"type":"object","required":["id","kind","amount_cents","created_at"],"properties":{"id":{"type":"string"},"kind":{"enum":["credit","charge","refund","cash_return"]},"amount_cents":{"type":"integer","description":"人民币分，不使用浮点元"},"created_at":{"type":"string"},"sku":{"type":["string","null"]},"resource_key":{"type":["string","null"]},"unit_id":{"type":["string","null"]}}}},"meta":{"$ref":"#/components/schemas/Meta"}}},"Unit":{"type":"object","properties":{"id":{"type":"string"},"question":{"type":"string"},"state":{"enum":["pending","running","succeeded","failed","cancelled"]},"result":{"type":["object","null"],"description":"kind=model_api_measurement:实际answer、model、observedAt、brands、citations和usage；kind=public_source_research:questions、sources、analyses、suggestions。仅已完成交付返回结果。"},"error_code":{"type":["string","null"]}},"required":["id","question","state","result","error_code"],"additionalProperties":false},"AgentMessage":{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"urn:scopeai:geo-agent-profile:0.1-draft:messages","title":"GEO Agent Service Profile 0.1-draft messages","description":"Draft domain contract. Structural validity is not proof of authorization, service availability or real evidence.","oneOf":[{"type":"object","properties":{"profile":{"const":"geo-agent-service"},"profile_version":{"const":"0.1-draft"},"message_type":{"const":"service_manifest"},"synthetic":{"type":"boolean"},"payload":{"$ref":"#/$defs/Manifest"}},"required":["profile","profile_version","message_type","payload"],"additionalProperties":false},{"type":"object","properties":{"profile":{"const":"geo-agent-service"},"profile_version":{"const":"0.1-draft"},"message_type":{"const":"match_request"},"synthetic":{"type":"boolean"},"payload":{"$ref":"#/$defs/MatchRequest"}},"required":["profile","profile_version","message_type","payload"],"additionalProperties":false},{"type":"object","properties":{"profile":{"const":"geo-agent-service"},"profile_version":{"const":"0.1-draft"},"message_type":{"const":"match_result"},"synthetic":{"type":"boolean"},"payload":{"$ref":"#/$defs/MatchResult"}},"required":["profile","profile_version","message_type","payload"],"additionalProperties":false},{"type":"object","properties":{"profile":{"const":"geo-agent-service"},"profile_version":{"const":"0.1-draft"},"message_type":{"const":"assessment_request"},"synthetic":{"type":"boolean"},"payload":{"$ref":"#/$defs/AssessmentRequest"}},"required":["profile","profile_version","message_type","payload"],"additionalProperties":false},{"type":"object","properties":{"profile":{"const":"geo-agent-service"},"profile_version":{"const":"0.1-draft"},"message_type":{"const":"quote"},"synthetic":{"type":"boolean"},"payload":{"$ref":"#/$defs/Quote"}},"required":["profile","profile_version","message_type","payload"],"additionalProperties":false},{"type":"object","properties":{"profile":{"const":"geo-agent-service"},"profile_version":{"const":"0.1-draft"},"message_type":{"const":"accept_quote"},"synthetic":{"type":"boolean"},"payload":{"$ref":"#/$defs/AcceptQuote"}},"required":["profile","profile_version","message_type","payload"],"additionalProperties":false},{"type":"object","properties":{"profile":{"const":"geo-agent-service"},"profile_version":{"const":"0.1-draft"},"message_type":{"const":"task"},"synthetic":{"type":"boolean"},"payload":{"$ref":"#/$defs/Task"}},"required":["profile","profile_version","message_type","payload"],"additionalProperties":false},{"type":"object","properties":{"profile":{"const":"geo-agent-service"},"profile_version":{"const":"0.1-draft"},"message_type":{"const":"assessment_result"},"synthetic":{"type":"boolean"},"payload":{"$ref":"#/$defs/AssessmentResult"}},"required":["profile","profile_version","message_type","payload"],"additionalProperties":false},{"type":"object","properties":{"profile":{"const":"geo-agent-service"},"profile_version":{"const":"0.1-draft"},"message_type":{"const":"change_package"},"synthetic":{"type":"boolean"},"payload":{"$ref":"#/$defs/ChangePackage"}},"required":["profile","profile_version","message_type","payload"],"additionalProperties":false},{"type":"object","properties":{"profile":{"const":"geo-agent-service"},"profile_version":{"const":"0.1-draft"},"message_type":{"const":"execution_receipt"},"synthetic":{"type":"boolean"},"payload":{"$ref":"#/$defs/ExecutionReceipt"}},"required":["profile","profile_version","message_type","payload"],"additionalProperties":false},{"type":"object","properties":{"profile":{"const":"geo-agent-service"},"profile_version":{"const":"0.1-draft"},"message_type":{"const":"comparison"},"synthetic":{"type":"boolean"},"payload":{"$ref":"#/$defs/Comparison"}},"required":["profile","profile_version","message_type","payload"],"additionalProperties":false},{"type":"object","properties":{"profile":{"const":"geo-agent-service"},"profile_version":{"const":"0.1-draft"},"message_type":{"const":"error"},"synthetic":{"type":"boolean"},"payload":{"$ref":"#/$defs/Error"}},"required":["profile","profile_version","message_type","payload"],"additionalProperties":false}],"$defs":{"Extensions":{"type":"object","propertyNames":{"pattern":"^[a-z0-9][a-z0-9.-]+/[A-Za-z0-9._-]+$"},"additionalProperties":true},"Money":{"type":"object","properties":{"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"minor_unit_exponent":{"type":"integer","minimum":0,"maximum":6},"amount_minor":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["currency","minor_unit_exponent","amount_minor"],"additionalProperties":false},"Budget":{"type":"object","properties":{"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"minor_unit_exponent":{"type":"integer","minimum":0,"maximum":6},"max_amount_minor":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["currency","minor_unit_exponent","max_amount_minor"],"additionalProperties":false},"Provider":{"type":"object","properties":{"id":{"type":"string","format":"uri","pattern":"^https://[^/?#@\\s]+(?:[/?#][^\\s]*)?$","maxLength":2048},"name":{"type":"string","minLength":1,"maxLength":120},"official_url":{"type":"string","format":"uri","pattern":"^https://[^/?#@\\s]+(?:[/?#][^\\s]*)?$","maxLength":2048},"disambiguating_description":{"type":"string","minLength":1,"maxLength":4000}},"required":["id","name","official_url","disambiguating_description"],"additionalProperties":false},"Auth":{"type":"object","properties":{"modes":{"type":"array","items":{"type":"string","enum":["api_key","oauth2"]},"minItems":1,"maxItems":2},"documentation_url":{"type":"string","format":"uri","pattern":"^https://[^/?#@\\s]+(?:[/?#][^\\s]*)?$","maxLength":2048}},"required":["modes","documentation_url"],"additionalProperties":false},"Interface":{"type":"object","properties":{"transport":{"type":"string","enum":["rest","mcp"]},"endpoint":{"type":"string","format":"uri","pattern":"^https://[^/?#@\\s]+(?:[/?#][^\\s]*)?$","maxLength":2048},"contract_url":{"type":"string","format":"uri","pattern":"^https://[^/?#@\\s]+(?:[/?#][^\\s]*)?$","maxLength":2048},"supported_versions":{"type":"array","items":{"type":"string","minLength":1,"maxLength":4000},"minItems":1,"maxItems":10}},"required":["transport","endpoint","contract_url","supported_versions"],"additionalProperties":false},"Capability":{"type":"object","properties":{"id":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"description":{"type":"string","minLength":1,"maxLength":4000},"intents":{"type":"array","items":{"type":"string","enum":["brand_visibility.observe","answer_citations.inspect","brand_facts.audit","content_changes.prepare","content_changes.execute","visibility_changes.compare"]},"minItems":1,"maxItems":6},"target_ids":{"type":"array","items":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"uniqueItems":true,"maxItems":100},"languages":{"type":"array","items":{"type":"string","minLength":1,"maxLength":4000},"minItems":1,"maxItems":30},"markets":{"type":"array","items":{"type":"string","minLength":1,"maxLength":4000},"minItems":1,"maxItems":50},"surfaces":{"type":"array","items":{"type":"string","enum":["consumer_web","consumer_app","model_api","public_sources"]},"minItems":0,"maxItems":4},"provenance":{"type":"array","items":{"type":"string","enum":["consumer_product_observation","model_api_observation","public_source_research","generated_example","estimated_projection"]},"minItems":0,"maxItems":5},"status":{"type":"string","enum":["available","preview","planned","unavailable"]},"verified_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}]},"cost_model":{"type":"string","enum":["free","per_unit","per_deliverable","contract"]},"requires_authorization":{"type":"boolean"},"external_write":{"type":"boolean"}},"required":["id","description","intents","target_ids","languages","markets","surfaces","provenance","status","verified_at","cost_model","requires_authorization","external_write"],"additionalProperties":false,"allOf":[{"if":{"properties":{"status":{"const":"available"}},"required":["status"]},"then":{"properties":{"verified_at":{"type":"string","format":"date-time"}}}}]},"Manifest":{"type":"object","properties":{"provider":{"$ref":"#/$defs/Provider"},"manifest_version":{"type":"string","minLength":1,"maxLength":4000},"published_at":{"type":"string","format":"date-time"},"expires_at":{"type":"string","format":"date-time"},"conformance":{"type":"array","items":{"type":"string","enum":["D","O","X"]},"minItems":1,"maxItems":3},"documentation_url":{"type":"string","format":"uri","pattern":"^https://[^/?#@\\s]+(?:[/?#][^\\s]*)?$","maxLength":2048},"privacy_url":{"type":"string","format":"uri","pattern":"^https://[^/?#@\\s]+(?:[/?#][^\\s]*)?$","maxLength":2048},"support_url":{"type":"string","format":"uri","pattern":"^https://[^/?#@\\s]+(?:[/?#][^\\s]*)?$","maxLength":2048},"authentication":{"$ref":"#/$defs/Auth"},"interfaces":{"type":"array","items":{"$ref":"#/$defs/Interface"},"minItems":1,"maxItems":10},"capabilities":{"type":"array","items":{"$ref":"#/$defs/Capability"},"minItems":1,"maxItems":100},"targets":{"type":"array","items":{"$ref":"#/$defs/Target"},"maxItems":100},"limitations":{"type":"array","items":{"type":"string","minLength":1,"maxLength":4000},"minItems":1,"maxItems":30},"extensions":{"$ref":"#/$defs/Extensions"}},"required":["provider","manifest_version","published_at","expires_at","conformance","documentation_url","privacy_url","support_url","authentication","interfaces","capabilities","targets","limitations"],"additionalProperties":false},"MatchRequest":{"type":"object","properties":{"request_ref":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"intent":{"type":"string","enum":["brand_visibility.observe","answer_citations.inspect","brand_facts.audit","content_changes.prepare","content_changes.execute","visibility_changes.compare"]},"desired_surface":{"type":"string","enum":["consumer_web","consumer_app","model_api","public_sources"]},"target_id":{"anyOf":[{"type":"string","minLength":1,"maxLength":4000},{"type":"null"}]},"language":{"type":"string","minLength":1,"maxLength":4000},"market":{"type":"string","minLength":1,"maxLength":4000},"desired_deliverables":{"type":"array","items":{"type":"string","minLength":1,"maxLength":4000},"minItems":1,"maxItems":20}},"required":["request_ref","intent","desired_surface","target_id","language","market","desired_deliverables"],"additionalProperties":false},"MatchResult":{"type":"object","properties":{"request_ref":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"provider_id":{"type":"string","format":"uri","pattern":"^https://[^/?#@\\s]+(?:[/?#][^\\s]*)?$","maxLength":2048},"status":{"type":"string","enum":["supported","partial","unsupported","unknown"]},"capability_ids":{"type":"array","items":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"minItems":0,"maxItems":20},"scope":{"type":"string","minLength":1,"maxLength":4000},"unmet_requirements":{"type":"array","items":{"type":"string","minLength":1,"maxLength":4000},"minItems":0,"maxItems":30},"next_action":{"type":"string","enum":["authenticate","adjust_scope","provide_input","refresh_manifest","stop"]}},"required":["request_ref","provider_id","status","capability_ids","scope","unmet_requirements","next_action"],"additionalProperties":false},"Target":{"type":"object","properties":{"id":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"surface":{"type":"string","enum":["consumer_web","consumer_app","model_api","public_sources"]},"provider":{"type":"string","minLength":1,"maxLength":4000},"model":{"anyOf":[{"type":"string","minLength":1,"maxLength":4000},{"type":"null"}]},"search_mode":{"type":"string","enum":["on","off","unknown"]},"language":{"type":"string","minLength":1,"maxLength":4000},"market":{"type":"string","minLength":1,"maxLength":4000},"configuration_version":{"type":"string","minLength":1,"maxLength":4000}},"required":["id","surface","provider","model","search_mode","language","market","configuration_version"],"additionalProperties":false},"Question":{"type":"object","properties":{"id":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"text":{"type":"string","minLength":4,"maxLength":2000},"kind":{"type":"string","enum":["natural","branded"]}},"required":["id","text","kind"],"additionalProperties":false},"AssessmentRequest":{"type":"object","properties":{"request_ref":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"project_ref":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"project_revision":{"type":"integer","minimum":1},"idempotency_key":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[A-Za-z0-9._:-]+$"},"intent":{"type":"string","enum":["brand_visibility.observe","answer_citations.inspect","brand_facts.audit"]},"target":{"$ref":"#/$defs/Target"},"question_set_ref":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"question_set_version":{"type":"string","minLength":1,"maxLength":4000},"questions":{"type":"array","items":{"$ref":"#/$defs/Question"},"minItems":1,"maxItems":100},"repeats":{"type":"integer","minimum":1,"maximum":20},"budget":{"$ref":"#/$defs/Budget"},"deliverables":{"type":"array","items":{"type":"string","enum":["raw_answers","citations","diagnosis"]},"minItems":1,"maxItems":3},"baseline_ref":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"}},"required":["request_ref","project_ref","project_revision","idempotency_key","intent","target","question_set_ref","question_set_version","questions","repeats","budget","deliverables"],"additionalProperties":false},"Quote":{"type":"object","properties":{"quote_id":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"request_ref":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"provider_id":{"type":"string","format":"uri","pattern":"^https://[^/?#@\\s]+(?:[/?#][^\\s]*)?$","maxLength":2048},"capability_id":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"frozen_configuration_ref":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"price_version":{"type":"string","minLength":1,"maxLength":4000},"total":{"$ref":"#/$defs/Money"},"unit_price":{"$ref":"#/$defs/Money"},"unit_count":{"type":"integer","minimum":1,"maximum":10000},"expires_at":{"type":"string","format":"date-time"},"required_permissions":{"type":"array","items":{"type":"string","minLength":1,"maxLength":4000},"minItems":1,"maxItems":20},"delivery_scope":{"type":"string","minLength":1,"maxLength":4000}},"required":["quote_id","request_ref","provider_id","capability_id","frozen_configuration_ref","price_version","total","unit_price","unit_count","expires_at","required_permissions","delivery_scope"],"additionalProperties":false},"AcceptQuote":{"type":"object","properties":{"quote_id":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"request_ref":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"idempotency_key":{"type":"string","minLength":8,"maxLength":128,"pattern":"^[A-Za-z0-9._:-]+$"},"authorization_ref":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"budget":{"$ref":"#/$defs/Budget"}},"required":["quote_id","request_ref","idempotency_key","authorization_ref","budget"],"additionalProperties":false},"Billing":{"type":"object","properties":{"currency":{"type":"string","pattern":"^[A-Z]{3}$"},"minor_unit_exponent":{"type":"integer","minimum":0,"maximum":6},"reserved_minor":{"type":"integer","minimum":0,"maximum":9007199254740991},"charged_minor":{"type":"integer","minimum":0,"maximum":9007199254740991},"released_minor":{"type":"integer","minimum":0,"maximum":9007199254740991},"state":{"type":"string","enum":["reserved","settled","released","pending"]}},"required":["currency","minor_unit_exponent","reserved_minor","charged_minor","released_minor","state"],"additionalProperties":false},"Progress":{"type":"object","properties":{"planned":{"type":"integer","minimum":0,"maximum":9007199254740991},"succeeded":{"type":"integer","minimum":0,"maximum":9007199254740991},"failed":{"type":"integer","minimum":0,"maximum":9007199254740991},"pending":{"type":"integer","minimum":0,"maximum":9007199254740991}},"required":["planned","succeeded","failed","pending"],"additionalProperties":false},"Task":{"type":"object","properties":{"task_ref":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"request_ref":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"baseline_ref":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"state":{"type":"string","enum":["queued","running","completed","partial","failed","cancelled","expired"]},"updated_at":{"type":"string","format":"date-time"},"deadline_at":{"type":"string","format":"date-time"},"poll_after_seconds":{"type":"integer","minimum":1,"maximum":3600},"progress":{"$ref":"#/$defs/Progress"},"result_ref":{"anyOf":[{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},{"type":"null"}]},"billing":{"$ref":"#/$defs/Billing"},"error_code":{"anyOf":[{"type":"string","minLength":1,"maxLength":4000},{"type":"null"}]}},"required":["task_ref","request_ref","baseline_ref","state","updated_at","deadline_at","poll_after_seconds","progress","result_ref","billing","error_code"],"additionalProperties":false},"Citation":{"type":"object","properties":{"url":{"type":"string","format":"uri","pattern":"^https://[^/?#@\\s]+(?:[/?#][^\\s]*)?$","maxLength":2048},"quote":{"anyOf":[{"type":"string","minLength":1,"maxLength":4000},{"type":"null"}]},"verification":{"type":"string","enum":["checked","unchecked","unreachable","contradicted"]}},"required":["url","quote","verification"],"additionalProperties":false},"Observation":{"type":"object","properties":{"observation_ref":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"question":{"$ref":"#/$defs/Question"},"target":{"$ref":"#/$defs/Target"},"provenance":{"type":"string","enum":["consumer_product_observation","model_api_observation","public_source_research","generated_example","estimated_projection"]},"observed_at":{"type":"string","format":"date-time"},"status":{"type":"string","enum":["answered","failed","not_triggered","unknown"]},"answer":{"anyOf":[{"type":"string","minLength":1,"maxLength":4000},{"type":"null"}]},"reason":{"anyOf":[{"type":"string","minLength":1,"maxLength":4000},{"type":"null"}]},"brand_mentioned":{"type":["boolean","null"]},"brand_recommended":{"type":["boolean","null"]},"recommendation_quote":{"anyOf":[{"type":"string","minLength":1,"maxLength":4000},{"type":"null"}]},"citations":{"type":"array","items":{"$ref":"#/$defs/Citation"},"minItems":0,"maxItems":100}},"required":["observation_ref","question","target","provenance","observed_at","status","answer","reason","brand_mentioned","brand_recommended","recommendation_quote","citations"],"additionalProperties":false,"allOf":[{"if":{"properties":{"status":{"const":"answered"}},"required":["status"]},"then":{"properties":{"answer":{"type":"string","minLength":1,"maxLength":4000},"reason":{"type":"null"}}},"else":{"properties":{"answer":{"type":"null"},"reason":{"type":"string","minLength":1,"maxLength":4000},"brand_mentioned":{"type":"null"},"brand_recommended":{"type":"null"},"recommendation_quote":{"type":"null"},"citations":{"type":"array","maxItems":0}}}},{"if":{"properties":{"brand_recommended":{"const":true}},"required":["brand_recommended"]},"then":{"properties":{"brand_mentioned":{"const":true},"recommendation_quote":{"type":"string","minLength":1,"maxLength":4000}}}},{"if":{"properties":{"provenance":{"const":"model_api_observation"}},"required":["provenance"]},"then":{"properties":{"target":{"type":"object","properties":{"surface":{"const":"model_api"}}}}}},{"if":{"properties":{"provenance":{"const":"consumer_product_observation"}},"required":["provenance"]},"then":{"properties":{"target":{"type":"object","properties":{"surface":{"enum":["consumer_web","consumer_app"]}}}}}},{"if":{"properties":{"provenance":{"const":"public_source_research"}},"required":["provenance"]},"then":{"properties":{"target":{"type":"object","properties":{"surface":{"const":"public_sources"}}}}}}]},"Diagnosis":{"type":"object","properties":{"issue_ref":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"evidence_refs":{"type":"array","items":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"minItems":1,"maxItems":100},"observed_fact":{"type":"string","minLength":1,"maxLength":4000},"hypothesis":{"anyOf":[{"type":"string","minLength":1,"maxLength":4000},{"type":"null"}]},"proposed_change":{"type":"string","minLength":1,"maxLength":4000},"acceptance_conditions":{"type":"array","items":{"type":"string","minLength":1,"maxLength":4000},"minItems":1,"maxItems":20}},"required":["issue_ref","evidence_refs","observed_fact","hypothesis","proposed_change","acceptance_conditions"],"additionalProperties":false},"AssessmentResult":{"type":"object","properties":{"assessment_ref":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"task_ref":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"baseline_ref":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"observations":{"type":"array","items":{"$ref":"#/$defs/Observation"},"minItems":0,"maxItems":10000},"diagnoses":{"type":"array","items":{"$ref":"#/$defs/Diagnosis"},"minItems":0,"maxItems":100},"limitations":{"type":"array","items":{"type":"string","minLength":1,"maxLength":4000},"minItems":1,"maxItems":30},"extensions":{"$ref":"#/$defs/Extensions"}},"required":["assessment_ref","task_ref","baseline_ref","observations","diagnoses","limitations"],"additionalProperties":false},"ChangePackage":{"type":"object","properties":{"package_ref":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"version":{"type":"string","minLength":1,"maxLength":4000},"project_ref":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"source_assessment_ref":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"target_url":{"type":"string","format":"uri","pattern":"^https://[^/?#@\\s]+(?:[/?#][^\\s]*)?$","maxLength":2048},"before_content_hash":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"},"change_type":{"type":"string","enum":["content_patch","technical_patch"]},"proposed_content":{"type":"string","minLength":1,"maxLength":4000},"evidence_refs":{"type":"array","items":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"minItems":1,"maxItems":100},"acceptance_conditions":{"type":"array","items":{"type":"string","minLength":1,"maxLength":4000},"minItems":1,"maxItems":20},"state":{"type":"string","enum":["draft","approved"]},"approval_ref":{"anyOf":[{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},{"type":"null"}]}},"required":["package_ref","version","project_ref","source_assessment_ref","target_url","before_content_hash","change_type","proposed_content","evidence_refs","acceptance_conditions","state","approval_ref"],"additionalProperties":false,"allOf":[{"if":{"properties":{"state":{"const":"approved"}},"required":["state"]},"then":{"properties":{"approval_ref":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"}}},"else":{"properties":{"approval_ref":{"type":"null"}}}}]},"Verification":{"type":"object","properties":{"state":{"type":"string","enum":["customer_reported","submitted","verified","failed"]},"checked_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}]},"content_hash":{"anyOf":[{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"},{"type":"null"}]},"reason":{"anyOf":[{"type":"string","minLength":1,"maxLength":4000},{"type":"null"}]}},"required":["state","checked_at","content_hash","reason"],"additionalProperties":false,"allOf":[{"if":{"properties":{"state":{"const":"verified"}},"required":["state"]},"then":{"properties":{"checked_at":{"type":"string","format":"date-time"},"content_hash":{"type":"string","pattern":"^sha256:[a-f0-9]{64}$"}}}}]},"ExecutionReceipt":{"type":"object","properties":{"receipt_ref":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"package_ref":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"package_version":{"type":"string","minLength":1,"maxLength":4000},"action_ref":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"target_url":{"type":"string","format":"uri","pattern":"^https://[^/?#@\\s]+(?:[/?#][^\\s]*)?$","maxLength":2048},"channel":{"type":"string","minLength":1,"maxLength":4000},"state":{"type":"string","enum":["published","failed"]},"executed_at":{"type":"string","format":"date-time"},"execution_reference":{"type":"string","minLength":1,"maxLength":4000},"verification":{"$ref":"#/$defs/Verification"},"rollback_reference":{"anyOf":[{"type":"string","minLength":1,"maxLength":4000},{"type":"null"}]}},"required":["receipt_ref","package_ref","package_version","action_ref","target_url","channel","state","executed_at","execution_reference","verification","rollback_reference"],"additionalProperties":false},"Comparison":{"type":"object","properties":{"comparison_ref":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"baseline_ref":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"before_assessment_ref":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"after_assessment_ref":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"comparable":{"type":"boolean"},"reasons":{"type":"array","items":{"type":"string","minLength":1,"maxLength":4000},"minItems":0,"maxItems":30},"conclusion":{"type":"string","enum":["observed_change","no_clear_change","inconclusive","not_comparable"]},"summary":{"type":"string","minLength":1,"maxLength":4000},"evidence_refs":{"type":"array","items":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"minItems":0,"maxItems":100}},"required":["comparison_ref","baseline_ref","before_assessment_ref","after_assessment_ref","comparable","reasons","conclusion","summary","evidence_refs"],"additionalProperties":false,"allOf":[{"if":{"properties":{"comparable":{"const":false}},"required":["comparable"]},"then":{"properties":{"conclusion":{"const":"not_comparable"},"reasons":{"type":"array","minItems":1}}},"else":{"properties":{"conclusion":{"enum":["observed_change","no_clear_change","inconclusive"]}}}}]},"Error":{"type":"object","properties":{"code":{"type":"string","enum":["unsupported_profile_version","invalid_request","unsupported_target","authentication_required","scope_denied","budget_exceeded","quote_expired","price_changed","revision_conflict","idempotency_conflict","target_unavailable","evidence_insufficient","not_comparable","rate_limited","service_unavailable"]},"message":{"type":"string","minLength":1,"maxLength":4000},"retryable":{"type":"boolean"},"request_ref":{"type":"string","minLength":3,"maxLength":160,"pattern":"^[A-Za-z0-9._:/#-]+$"},"next_action":{"type":"string","enum":["fix_input","authenticate","request_approval","requote","query_existing_task","wait","stop"]}},"required":["code","message","retryable","request_ref","next_action"],"additionalProperties":false}}}}},"tags":[]}