{"openapi":"3.1.0","info":{"title":"IPverse API","summary":"REST access to IPverse data.","description":"The IPverse API provides structured access to intellectual property, game, and collaboration event intelligence.\n\n## Authentication\n\nAll REST API requests require an API key issued by the IPverse team. Send the key as a Bearer token:\n\n```http\nAuthorization: Bearer <YOUR_API_KEY>\n```\n\nAPI keys scoped as `api` can call `/v1/*` REST endpoints.\n\nTo request access or adjust quota, contact the IPverse team.\n\n## REST API\n\nProduction base URL:\n\n```text\nhttps://api.ipverse.com/v1\n```\n\nREST endpoints are grouped by resource:\n\n- Events: search and fetch IP-game collaboration events, including localized metadata and references.\n- Games: search and fetch game records, platform data, tags, and AppMagic-derived market metrics.\n- IPs: search and fetch intellectual property records, metadata, tags, and matching recommendations.\n\n## Errors\n\nCommon HTTP responses are documented per operation. The most common authentication and quota errors are:\n\n- `401`: Missing, invalid, or expired API key.\n- `403`: API key type is not allowed for this endpoint.\n- `429`: Monthly credit quota exceeded.\n\n## Credits\n\nMonthly quota is calculated in credits, not raw request count. Detail and option endpoints cost 1 credit. Search-style REST endpoints cost 2 credits. AI-powered endpoints such as IP matching cost 10 credits.\n\nCall `GET /v1/credits` at any time to check the remaining monthly balance. This endpoint does not consume credits. Every response also returns `X-IPverse-Credit-Cost` and `X-IPverse-Credit-Remaining` headers.\n","version":"20260615.0538","x-logo":{"url":"https://ipverse.com/desktop-dark.webp","altText":"IPverse"}},"paths":{"/v1/events/search":{"post":{"tags":["events"],"summary":"Search events","description":"Search processed IP-game collaboration events by keyword, date range, event type, region, and related game or IP filters.","operationId":"search_event_v1_events_search_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__endpoints__events__search__SearchParamsSchema"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__schema__api_base__APIPageResponseSchema_EventEstablishedSchema__API__ListOut_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"Missing, invalid, or expired API key."},"403":{"description":"API key type is not allowed for this endpoint."},"429":{"description":"Monthly credit quota exceeded."}},"security":[{"HTTPBearerWithCookie":[]}]}},"/v1/events/full-text-search":{"post":{"tags":["events"],"summary":"Full-text search events","description":"Run PostgreSQL full-text search over event names and summaries, returning ranked events with highlighted snippets.","operationId":"full_text_search_v1_events_full_text_search_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__endpoints__events__search__SearchParamsSchema"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/APIPageResponseSchema_APIFullTextEventSearchOutSchema_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"Missing, invalid, or expired API key."},"403":{"description":"API key type is not allowed for this endpoint."},"429":{"description":"Monthly credit quota exceeded."}},"security":[{"HTTPBearerWithCookie":[]}]}},"/v1/events/{id}":{"get":{"tags":["events"],"summary":"Get event details","description":"Fetch a single processed IP-game collaboration event by IPverse event ID.","operationId":"get_event_v1_events__id__get","security":[{"HTTPBearerWithCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","title":"Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__schema__api_base__APIBaseResponseSchema_EventEstablishedSchema__API__DetailOut_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"Missing, invalid, or expired API key."},"403":{"description":"API key type is not allowed for this endpoint."},"429":{"description":"Monthly credit quota exceeded."}}}},"/v1/events/{id}/images":{"get":{"tags":["events"],"summary":"List event images","description":"Fetch crawler images linked to a processed collaboration event.","operationId":"get_event_images_v1_events__id__images_get","security":[{"HTTPBearerWithCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","title":"Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/APIBaseResponseSchema_list_APICrawlerImageOutSchema__"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"Missing, invalid, or expired API key."},"403":{"description":"API key type is not allowed for this endpoint."},"429":{"description":"Monthly credit quota exceeded."}}}},"/v1/events/search_options":{"get":{"tags":["events"],"summary":"List event search options","description":"Return supported event type and event region options for event search filters. Labels follow the active language context.","operationId":"get_search_options_v1_events_search_options_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Get Search Options V1 Events Search Options Get"}}}},"401":{"description":"Missing, invalid, or expired API key."},"403":{"description":"API key type is not allowed for this endpoint."},"429":{"description":"Monthly credit quota exceeded."}},"security":[{"HTTPBearerWithCookie":[]}]}},"/v1/games/search":{"post":{"tags":["games"],"summary":"Search games","description":"Search processed game records by keyword, company, origin market, platform, and AppMagic performance filters.","operationId":"search_games_v1_games_search_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/GameSearchParamsSchema"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__schema__api_base__APIPageResponseSchema_GameSchema__API__ListOut_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"Missing, invalid, or expired API key."},"403":{"description":"API key type is not allowed for this endpoint."},"429":{"description":"Monthly credit quota exceeded."}},"security":[{"HTTPBearerWithCookie":[]}]}},"/v1/games/{id}":{"get":{"tags":["games"],"summary":"Get game details","description":"Fetch a single processed game record by IPverse game ID, including localized metadata, tags, and AppMagic totals.","operationId":"get_game_v1_games__id__get","security":[{"HTTPBearerWithCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","title":"Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__schema__api_base__APIBaseResponseSchema_GameSchema__API__DetailOut_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"Missing, invalid, or expired API key."},"403":{"description":"API key type is not allowed for this endpoint."},"429":{"description":"Monthly credit quota exceeded."}}}},"/v1/games/search_options":{"get":{"tags":["games"],"summary":"List game search options","description":"Return supported platform, country, and category options for game search filters. Labels follow the active language context.","operationId":"get_search_options_v1_games_search_options_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Get Search Options V1 Games Search Options Get"}}}},"401":{"description":"Missing, invalid, or expired API key."},"403":{"description":"API key type is not allowed for this endpoint."},"429":{"description":"Monthly credit quota exceeded."}},"security":[{"HTTPBearerWithCookie":[]}]}},"/v1/ips/search":{"post":{"tags":["ips"],"summary":"Search IPs","description":"Search processed intellectual property records by keyword, related company, origin market, and category tags.","operationId":"search_ip_v1_ips_search_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__api__endpoints__ips__search__SearchParamsSchema"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__schema__api_base__APIPageResponseSchema_IPSchema__API__ListOut_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"Missing, invalid, or expired API key."},"403":{"description":"API key type is not allowed for this endpoint."},"429":{"description":"Monthly credit quota exceeded."}},"security":[{"HTTPBearerWithCookie":[]}]}},"/v1/ips/{id}":{"get":{"tags":["ips"],"summary":"Get IP details","description":"Fetch a single processed intellectual property record by IPverse IP ID, including localized metadata and tags.","operationId":"get_game_v1_ips__id__get","security":[{"HTTPBearerWithCookie":[]}],"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer","title":"Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/app__schema__api_base__APIBaseResponseSchema_IPSchema__API__DetailOut_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"Missing, invalid, or expired API key."},"403":{"description":"API key type is not allowed for this endpoint."},"429":{"description":"Monthly credit quota exceeded."}}}},"/v1/ips/search_options":{"get":{"tags":["ips"],"summary":"List IP search options","description":"Return supported country and category options for IP search filters. Labels follow the active language context.","operationId":"get_search_options_v1_ips_search_options_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Get Search Options V1 Ips Search Options Get"}}}},"401":{"description":"Missing, invalid, or expired API key."},"403":{"description":"API key type is not allowed for this endpoint."},"429":{"description":"Monthly credit quota exceeded."}},"security":[{"HTTPBearerWithCookie":[]}]}},"/v1/ips/matching":{"post":{"tags":["matching"],"summary":"Recommend matching IPs","description":"Generate IP recommendations for a game or market brief using IPverse matching intelligence.","operationId":"ip_matching_v1_ips_matching_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IPMatchingInSchema"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/APIBaseResponseSchema_list_dict__"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"401":{"description":"Missing, invalid, or expired API key."},"403":{"description":"API key type is not allowed for this endpoint."},"429":{"description":"Monthly credit quota exceeded."}},"security":[{"HTTPBearerWithCookie":[]}]}},"/v1/credits":{"get":{"tags":["account"],"summary":"Get current credit balance","description":"Return the remaining monthly credit balance for the authenticated customer. This endpoint itself does not consume credits.","operationId":"get_credit_balance_v1_credits_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/APIBaseResponseSchema_CreditBalanceSchema_"}}}},"401":{"description":"Missing, invalid, or expired API key."},"403":{"description":"API key type is not allowed for this endpoint."},"429":{"description":"Monthly credit quota exceeded."}},"security":[{"APIKeyBearer":[]}]}}},"components":{"schemas":{"APIBaseResponseSchema_CreditBalanceSchema_":{"properties":{"code":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Code","description":"Application-level status code.","default":200},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message","description":"Human-readable result message.","default":"success"},"data":{"anyOf":[{"$ref":"#/components/schemas/CreditBalanceSchema"},{"type":"null"}],"description":"Response payload."}},"type":"object","title":"APIBaseResponseSchema[CreditBalanceSchema]"},"APIBaseResponseSchema_list_APICrawlerImageOutSchema__":{"properties":{"code":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Code","description":"Application-level status code.","default":200},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message","description":"Human-readable result message.","default":"success"},"data":{"anyOf":[{"items":{"$ref":"#/components/schemas/APICrawlerImageOutSchema"},"type":"array"},{"type":"null"}],"title":"Data","description":"Response payload."}},"type":"object","title":"APIBaseResponseSchema[list[APICrawlerImageOutSchema]]"},"APIBaseResponseSchema_list_dict__":{"properties":{"code":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Code","description":"Application-level status code.","default":200},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message","description":"Human-readable result message.","default":"success"},"data":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"title":"Data","description":"Response payload."}},"type":"object","title":"APIBaseResponseSchema[list[dict]]"},"APICrawlerImageOutSchema":{"properties":{"id":{"type":"integer","title":"Id","description":"Unique image record ID."},"title":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Title","description":"Image title or source page title when available."},"webpage_link":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Webpage Link","description":"Source webpage URL where the image was found."},"width":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Width","description":"Image width in pixels."},"height":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Height","description":"Image height in pixels."},"size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Size","description":"Image file size in bytes."},"image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Image Url","readOnly":true}},"type":"object","required":["id","image_url"],"title":"APICrawlerImageOutSchema"},"APIFullTextEventSearchOutSchema":{"properties":{"event":{"$ref":"#/components/schemas/app__schema__event_established__EventEstablishedSchema__API__ListOut","description":"Matched event record."},"highlight":{"type":"string","title":"Highlight","description":"Highlighted text snippet showing where the full-text match occurred."}},"type":"object","required":["event","highlight"],"title":"APIFullTextEventSearchOutSchema"},"APIPageDataSchema_APIFullTextEventSearchOutSchema_":{"properties":{"offset":{"type":"integer","title":"Offset","description":"Zero-based offset used for the current page."},"size":{"type":"integer","title":"Size","description":"Page size used for the current response."},"total":{"type":"integer","title":"Total","description":"Total number of records matching the request."},"items":{"items":{"$ref":"#/components/schemas/APIFullTextEventSearchOutSchema"},"type":"array","title":"Items","description":"Records returned for the current page."}},"type":"object","required":["offset","size","total","items"],"title":"APIPageDataSchema[APIFullTextEventSearchOutSchema]"},"APIPageResponseSchema_APIFullTextEventSearchOutSchema_":{"properties":{"code":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Code","description":"Application-level status code.","default":200},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message","description":"Human-readable result message.","default":"success"},"data":{"anyOf":[{"$ref":"#/components/schemas/APIPageDataSchema_APIFullTextEventSearchOutSchema_"},{"type":"null"}],"description":"Response payload."}},"type":"object","title":"APIPageResponseSchema[APIFullTextEventSearchOutSchema]"},"AppMagicID":{"properties":{"region":{"type":"string","title":"Region","description":"what is the main region of this id, lower case, like global, china, taiwan etc."},"id":{"type":"string","title":"Id","description":"app magic united-application id"},"publisher":{"type":"string","title":"Publisher","description":"[Full company name]"},"note":{"type":"string","title":"Note","description":"Any additional note about this appmatic app"}},"type":"object","required":["region","id","publisher","note"],"title":"AppMagicID"},"Base":{"properties":{"language_code":{"type":"string","title":"Language Code","description":"ISO 639-1 language code for this metadata record, for example `zh`, `en`, or `ja`.","examples":["zh","en","ja"]},"event_name":{"type":"string","title":"Event Name","description":"The name of the event extracted from the article. Use the same language as the corresponding metadata field: English for `meta_en` and Simplified Chinese for `meta_zh`."},"event_summary":{"type":"string","title":"Event Summary","description":"A brief summary of the event, capturing the key points and highlights. This should be concise but informative. Use the same language as the corresponding metadata field: English for `meta_en` and Simplified Chinese for `meta_zh`."},"event_highlights":{"items":{"type":"string"},"type":"array","title":"Event Highlights","description":"A list of 2-3 key highlights or key points for the event, Make sure it is insightful highlights about the event design, event strategy, or impact. Use the same language as the corresponding metadata field: English for `meta_en` and Simplified Chinese for `meta_zh`."},"event_detail":{"type":"string","title":"Event Detail","description":"\nA comprehensive, fully detailed description of the event in well-structured Markdown format.\n\n**Core Requirements:**\n- Follow the standard content structure defined in the prompt\n- Include all verified facts and relevant details\n- Focus strictly on event-related information\n- Use official names and translations when available\n- Use the same language as the corresponding metadata field: English for `meta_en` and Simplified Chinese for `meta_zh`.\nThe content should be comprehensive and follow the established section structure for consistency.\n"},"confidence_reasoning":{"type":"string","title":"Confidence Reasoning","description":"Reasoning behind the confidence score, explaining why the information is considered reliable or uncertain. Always fill this value"},"companies":{"items":{"$ref":"#/components/schemas/app__schema__components__EventSchemaComponents__Company"},"type":"array","title":"Companies","description":"List of companies related to the IP. Names should follow the 'localized_name (original_name)' format. Order priority: current copyright holder(s) first (licensor in the first position), followed by production and other related companies. Use same language as the corresponding meta field (use English for meta_en, Chinese Simplfied for meta_zh)."}},"type":"object","required":["language_code","event_name","event_summary","event_detail","confidence_reasoning"],"title":"Base"},"CreditBalanceSchema":{"properties":{"period":{"type":"string","title":"Period","description":"Billing period in YYYY-MM format (UTC)."},"quota_monthly":{"type":"integer","title":"Quota Monthly","description":"Total monthly credit quota shared across the customer's keys."},"credits_used":{"type":"integer","title":"Credits Used","description":"Credits already consumed in the current period."},"credits_remaining":{"type":"integer","title":"Credits Remaining","description":"Credits remaining in the current period."}},"type":"object","required":["period","quota_monthly","credits_used","credits_remaining"],"title":"CreditBalanceSchema","description":"Monthly credit balance for the authenticated customer."},"EventGameSchema":{"properties":{"name":{"type":"string","title":"Name","description":"The name of the game involved in the event."},"description":{"type":"string","title":"Description","description":"A brief description of the game and its role in the event."}},"type":"object","required":["name","description"],"title":"EventGameSchema"},"EventIPSchema":{"properties":{"name":{"type":"string","title":"Name","description":"The name of the IP (Intellectual Property) involved in the event."},"description":{"type":"string","title":"Description","description":"A brief description of the IP and its relevance to the event."}},"type":"object","required":["name","description"],"title":"EventIPSchema"},"GameSearchParamsSchema":{"properties":{"sort":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sort","description":"Sort expression in `<field>:<direction>` format, for example `name:asc`."},"offset":{"type":"integer","minimum":0.0,"title":"Offset","description":"Zero-based number of records to skip.","default":0},"size":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Size","description":"Maximum number of records to return. The maximum page size is 100.","default":20},"query":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Query","description":"Keyword query matched against game names and searchable metadata."},"company_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Name","description":"Company keyword used to find games related to a developer, publisher, or licensor."},"origin_country_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Origin Country Code","description":"ISO 3166-1 alpha-2 country code for the game's origin market."},"platforms":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Platforms","description":"Game platforms to include. Supported values are `pc`, `mobile`, `console`, `xr`, and `other`."},"min_revenue":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Min Revenue","description":"Minimum total AppMagic revenue."},"min_downloads":{"anyOf":[{"type":"integer","minimum":0.0},{"type":"null"}],"title":"Min Downloads","description":"Minimum total AppMagic downloads."}},"type":"object","title":"GameSearchParamsSchema","description":"Search filters for game records."},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"IPMatchingInSchema":{"properties":{"game_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Game Id","description":"Optional IPverse game ID used as the matching target."},"target_region":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Target Region","description":"Target market or region for the IP recommendation."},"age_group":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Age Group","description":"Target audience age group, such as `13-17`, `18-24`, or `25-34`."},"ip_category":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Ip Category","description":"Preferred IP category, such as game, anime, movie, comic, celebrity, or brand."},"popularity_level":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Popularity Level","description":"Preferred popularity level or market reach for candidate IPs."},"include_past_collab_ips":{"type":"boolean","title":"Include Past Collab Ips","description":"Whether to allow IPs that have appeared in past collaborations.","default":true},"detailed_requirements":{"type":"string","title":"Detailed Requirements","description":"Additional business, creative, audience, or market requirements for matching.","default":""}},"type":"object","title":"IPMatchingInSchema"},"Link":{"properties":{"reference_id":{"type":"integer","title":"Reference Id","description":"Unique reference identifier, typically linked from event descriptions as [^1], [^2], and so on."},"title":{"type":"string","title":"Title","description":"Reference title used as link text, for example `Trailer`, `Official Announcement`, or `Media Coverage`."},"url":{"type":"string","title":"Url"},"summary":{"type":"string","title":"Summary","description":"Short summary of the referenced source content."}},"type":"object","required":["reference_id","title","url","summary"],"title":"Link"},"ListMeta":{"properties":{"language_code":{"type":"string","title":"Language Code","description":"ISO 639-1 language code for this metadata record, for example `zh`, `en`, or `ja`.","examples":["zh","en","ja"]},"name":{"type":"string","title":"Name","description":"Official or best-known localized game name for the metadata language.","examples":["星际争霸","The Legend of Zelda","原神","新基克拉德(tbd)"]},"description":{"type":"string","title":"Description"}},"type":"object","required":["language_code","name","description"],"title":"ListMeta"},"StoreLink":{"properties":{"name":{"type":"string","title":"Name"},"url":{"type":"string","title":"Url"},"note":{"type":"string","title":"Note"}},"type":"object","required":["name","url","note"],"title":"StoreLink"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"},"_EventMetaAPIFullSchema":{"properties":{"language_code":{"type":"string","title":"Language Code"},"event_name":{"type":"string","title":"Event Name"},"event_summary":{"type":"string","title":"Event Summary"},"confidence_reasoning":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Confidence Reasoning"},"event_detail":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Event Detail"},"event_highlights":{"items":{"type":"string"},"type":"array","title":"Event Highlights"},"companies":{"items":{"$ref":"#/components/schemas/app__schema__components__EventSchemaComponents__Company"},"type":"array","title":"Companies"}},"type":"object","required":["language_code","event_name","event_summary","confidence_reasoning","event_detail","companies"],"title":"_EventMetaAPIFullSchema"},"_GameMetaBaseSchema":{"properties":{"language_code":{"type":"string","title":"Language Code","description":"ISO 639-1 language code for this metadata record, for example `zh`, `en`, or `ja`.","examples":["zh","en","ja"]},"name":{"type":"string","title":"Name","description":"Official or best-known localized game name for the metadata language.","examples":["星际争霸","The Legend of Zelda","原神","新基克拉德(tbd)"]},"description":{"type":"string","title":"Description","description":"Detailed game description written in the metadata language.","examples":["《星际争霸》（StarCraft）是由暴雪娱乐（Blizzard Entertainment）开发的一款即时战略游戏系列..."]},"companies":{"items":{"$ref":"#/components/schemas/app__schema__game__GameSchemaComponents__Company"},"type":"array","title":"Companies","description":"Companies associated with the game, ordered by relevance such as licensor, developer, publisher, and distributor."}},"type":"object","required":["language_code","name","description"],"title":"_GameMetaBaseSchema"},"_IPMetaBaseSchema":{"properties":{"language_code":{"type":"string","title":"Language Code","description":"ISO 639-1 language code for this metadata record, for example `zh`, `en`, or `ja`.","examples":["zh","en","ja"]},"name":{"type":"string","title":"Name","description":"Official or best-known localized IP name for the metadata language.","examples":["星际争霸","The Legend of Zelda","原神","新基克拉德(tbd)"]},"description":{"type":"string","title":"Description","description":"Detailed IP description written in the metadata language.","examples":["《星际争霸》（StarCraft）是由暴雪娱乐（Blizzard Entertainment）开发的一款即时战略游戏系列..."]},"franchise_history":{"type":"string","title":"Franchise History","description":"Development and release history of the IP franchise.","examples":["《星际争霸》（StarCraft）系列始于1998年，第一部作品由暴雪娱乐（Blizzard Entertainment）开发..."]},"cultural_impact":{"type":"string","title":"Cultural Impact","description":"Cultural, social, or industry impact of the IP.","examples":["作为电子竞技（E-Sports）的先驱之一，《星际争霸》在韩国（South Korea）和全球范围内培养了庞大的电竞文化..."]},"popular_characters":{"items":{"type":"string"},"type":"array","title":"Popular Characters","description":"Notable characters associated with the IP.","examples":[["吉姆·雷诺（Jim Raynor）","莎拉·凯瑞甘（Sarah Kerrigan）","钟离"]]},"popular_props":{"items":{"type":"string"},"type":"array","title":"Popular Props","description":"Notable props, items, locations, or concepts associated with the IP.","examples":[["水晶塔（Crystal Tower）","神之眼","Master Sword"]]},"companies":{"items":{"$ref":"#/components/schemas/app__schema__ip__IPSchemaComponents__Company"},"type":"array","title":"Companies","description":"Companies associated with the IP, ordered by relevance such as licensor, owner, producer, and distributor."}},"type":"object","required":["language_code","name","description","franchise_history","cultural_impact"],"title":"_IPMetaBaseSchema"},"app__api__endpoints__events__search__SearchParamsSchema":{"properties":{"sort":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sort","description":"Sort expression in `<field>:<direction>` format. Supported fields include `event_start_date`, `event_end_date`, `event_name`, `relevance_score`, `created_at`, and `updated_at`. When sorting by `event_name`, the active language context determines which localized name is used."},"offset":{"type":"integer","minimum":0.0,"title":"Offset","description":"Zero-based number of records to skip.","default":0},"size":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Size","description":"Maximum number of records to return. The maximum page size is 100.","default":20},"query":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Query","description":"Keyword query matched against event names, summaries, and searchable metadata."},"start_date_from":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Start Date From"},"start_date_to":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Start Date To"},"event_regions":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Event Regions","description":"Event regions to include. Supported values are `global`, `mainland_china`, `greater_china`, `outside_mainland_china`, `southeast_asia`, `middle_east`, and `other`."},"event_types":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Event Types","description":"Event types to include. Supported values are `standalone_game`, `in_game_collaboration`, `in_game_event`, `media_content`, `physical_product`, `corporate_business_collaboration`, `offline_event`, and `game_online_marketing`."},"game_origin_countries":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Game Origin Countries","description":"ISO 3166-1 alpha-2 origin country codes for games involved in the event."},"game_platforms":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Game Platforms","description":"Game platforms to include. Supported values are `pc`, `mobile`, `console`, `xr`, and `other`."},"game_category_ids":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Game Category Ids","description":"Game category tag IDs. Events are matched when they include games in these categories."},"ip_origin_countries":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Ip Origin Countries","description":"ISO 3166-1 alpha-2 origin country codes for IPs involved in the event."},"ip_categories":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Ip Categories","description":"IP category tag IDs. Events are matched when they include IPs in these categories."},"game_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Game Id"},"ip_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Ip Id"},"allow_unfinished":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Allow Unfinished"}},"type":"object","title":"SearchParamsSchema"},"app__api__endpoints__ips__search__SearchParamsSchema":{"properties":{"sort":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sort","description":"Sort expression in `<field>:<direction>` format. Supported fields include `relevance_score`, `created_at`, `updated_at`, and `debut_date`. Default ordering is `id:desc`."},"offset":{"type":"integer","minimum":0.0,"title":"Offset","description":"Zero-based number of records to skip.","default":0},"size":{"type":"integer","maximum":100.0,"minimum":1.0,"title":"Size","description":"Maximum number of records to return. The maximum page size is 100.","default":20},"query":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Query","description":"Keyword query matched against IP names and searchable metadata."},"company_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Name","description":"Company keyword used to find IPs related to a licensor, owner, or producer."},"origin_country_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Origin Country Code","description":"ISO 3166-1 alpha-2 country code for the IP's origin market."},"categories":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Categories","description":"IP category tag IDs. Child tags of the selected categories are included."}},"type":"object","title":"SearchParamsSchema"},"app__schema__api_base__APIBaseResponseSchema_EventEstablishedSchema__API__DetailOut_":{"properties":{"code":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Code","description":"Application-level status code.","default":200},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message","description":"Human-readable result message.","default":"success"},"data":{"anyOf":[{"$ref":"#/components/schemas/app__schema__event_established__EventEstablishedSchema__API__DetailOut"},{"type":"null"}],"description":"Response payload."}},"type":"object","title":"APIBaseResponseSchema[EventEstablishedSchema.API.DetailOut]"},"app__schema__api_base__APIBaseResponseSchema_GameSchema__API__DetailOut_":{"properties":{"code":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Code","description":"Application-level status code.","default":200},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message","description":"Human-readable result message.","default":"success"},"data":{"anyOf":[{"$ref":"#/components/schemas/app__schema__game__GameSchema__API__DetailOut"},{"type":"null"}],"description":"Response payload."}},"type":"object","title":"APIBaseResponseSchema[GameSchema.API.DetailOut]"},"app__schema__api_base__APIBaseResponseSchema_IPSchema__API__DetailOut_":{"properties":{"code":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Code","description":"Application-level status code.","default":200},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message","description":"Human-readable result message.","default":"success"},"data":{"anyOf":[{"$ref":"#/components/schemas/app__schema__ip__IPSchema__API__DetailOut"},{"type":"null"}],"description":"Response payload."}},"type":"object","title":"APIBaseResponseSchema[IPSchema.API.DetailOut]"},"app__schema__api_base__APIPageDataSchema_EventEstablishedSchema__API__ListOut_":{"properties":{"offset":{"type":"integer","title":"Offset","description":"Zero-based offset used for the current page."},"size":{"type":"integer","title":"Size","description":"Page size used for the current response."},"total":{"type":"integer","title":"Total","description":"Total number of records matching the request."},"items":{"items":{"$ref":"#/components/schemas/app__schema__event_established__EventEstablishedSchema__API__ListOut"},"type":"array","title":"Items","description":"Records returned for the current page."}},"type":"object","required":["offset","size","total","items"],"title":"APIPageDataSchema[EventEstablishedSchema.API.ListOut]"},"app__schema__api_base__APIPageDataSchema_GameSchema__API__ListOut_":{"properties":{"offset":{"type":"integer","title":"Offset","description":"Zero-based offset used for the current page."},"size":{"type":"integer","title":"Size","description":"Page size used for the current response."},"total":{"type":"integer","title":"Total","description":"Total number of records matching the request."},"items":{"items":{"$ref":"#/components/schemas/app__schema__game__GameSchema__API__ListOut"},"type":"array","title":"Items","description":"Records returned for the current page."}},"type":"object","required":["offset","size","total","items"],"title":"APIPageDataSchema[GameSchema.API.ListOut]"},"app__schema__api_base__APIPageDataSchema_IPSchema__API__ListOut_":{"properties":{"offset":{"type":"integer","title":"Offset","description":"Zero-based offset used for the current page."},"size":{"type":"integer","title":"Size","description":"Page size used for the current response."},"total":{"type":"integer","title":"Total","description":"Total number of records matching the request."},"items":{"items":{"$ref":"#/components/schemas/app__schema__ip__IPSchema__API__ListOut"},"type":"array","title":"Items","description":"Records returned for the current page."}},"type":"object","required":["offset","size","total","items"],"title":"APIPageDataSchema[IPSchema.API.ListOut]"},"app__schema__api_base__APIPageResponseSchema_EventEstablishedSchema__API__ListOut_":{"properties":{"code":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Code","description":"Application-level status code.","default":200},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message","description":"Human-readable result message.","default":"success"},"data":{"anyOf":[{"$ref":"#/components/schemas/app__schema__api_base__APIPageDataSchema_EventEstablishedSchema__API__ListOut_"},{"type":"null"}],"description":"Response payload."}},"type":"object","title":"APIPageResponseSchema[EventEstablishedSchema.API.ListOut]"},"app__schema__api_base__APIPageResponseSchema_GameSchema__API__ListOut_":{"properties":{"code":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Code","description":"Application-level status code.","default":200},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message","description":"Human-readable result message.","default":"success"},"data":{"anyOf":[{"$ref":"#/components/schemas/app__schema__api_base__APIPageDataSchema_GameSchema__API__ListOut_"},{"type":"null"}],"description":"Response payload."}},"type":"object","title":"APIPageResponseSchema[GameSchema.API.ListOut]"},"app__schema__api_base__APIPageResponseSchema_IPSchema__API__ListOut_":{"properties":{"code":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Code","description":"Application-level status code.","default":200},"message":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Message","description":"Human-readable result message.","default":"success"},"data":{"anyOf":[{"$ref":"#/components/schemas/app__schema__api_base__APIPageDataSchema_IPSchema__API__ListOut_"},{"type":"null"}],"description":"Response payload."}},"type":"object","title":"APIPageResponseSchema[IPSchema.API.ListOut]"},"app__schema__components__EventSchemaComponents__Company":{"properties":{"name":{"type":"string","title":"Name","description":"Company name. When a localized name is available, use the format `localized name (original name)`; otherwise use the official original name.","examples":["暴雪娱乐（Blizzard Entertainment）","Nintendo Co., Ltd.","腾讯"]},"role":{"type":"string","title":"Role","description":"Company role in the IP, game, or collaboration context. Use lowercase role names.","examples":["developer","publisher","licensor","distributor"]},"role_description":{"type":"string","title":"Role Description","description":"Clear description of the company's role and relationship to the IP, game, or event.","examples":["作为开发商，暴雪娱乐（Blizzard Entertainment）负责星际争霸（StarCraft）系列的设计、开发和维护"]}},"type":"object","required":["name","role","role_description"],"title":"Company"},"app__schema__event_established__EventEstablishedSchema__API__DetailOut":{"properties":{"event_type":{"type":"string","title":"Event Type","description":"The type of the event, such as 'standalone_game', 'in_game_collaboration', etc."},"event_year":{"type":"integer","title":"Event Year","description":"The year when the event is scheduled to take place, in YYYY format."},"event_start_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Event Start Date","description":"The start date of the event. Allowed formats YYYY-MM-DD, YYYY-MM-DD(tbd), 2026-Q2(tbd), 2026-H2(tbd), 2026(tbd), if applicable."},"event_end_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Event End Date","description":"The end date of the event in YYYY-MM-DD format, if applicable."},"event_region":{"type":"string","title":"Event Region","description":"\nA required, single-choice field to define the event's regional scope.\n- `global`: Worldwide, no regional restrictions.\n- `greater_china`: Mainland China, Hong Kong, Macau, and Taiwan.\n- `outside_mainland_china`: Everywhere EXCEPT for Mainland China.\n- `mainland_china`: Exclusive to Mainland China.\n- `southeast_asia`: Southeast Asia.\n- `middle_east`: The Middle East region.\n- `other`: A fallback for custom scopes. If selected, `event_countries` must be specified.\n"},"event_countries":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Event Countries","description":"\nA conditional list of ISO 3166-1 alpha-2 country codes.\n- **Rule**: This field MUST only be used when `event_region` is set to 'other'.\n- **Rule**: It MUST be empty (null) for all other predefined regions.\n- **Example**: `['US', 'GB', 'DE']`\n"},"process_note":{"type":"string","title":"Process Note","description":"Any notes or additional information about the extraction process, source etc to help provide context of extraction in English"},"confidence_score":{"type":"integer","maximum":100.0,"minimum":0.0,"title":"Confidence Score","description":"Confidence score for the accuracy and completeness of the extracted information (0-100)."},"future_update_needed":{"type":"boolean","title":"Future Update Needed","description":"Whether this event needs future updates or monitoring for additional information."},"future_update_content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Future Update Content","description":"Description of what kind of future updates might be needed for this event in English."},"references":{"items":{"$ref":"#/components/schemas/Link"},"type":"array","title":"References","description":"Event references, including links to external sources, include trailer, official announcement, media cover, etc. Must be the FULL FINAL RESULT with comprehensive reference list. Should be at least 3, the more is better."},"id":{"type":"integer","title":"Id","description":"The unique ID of the event."},"cover":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cover"},"ip_ids":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Ip Ids"},"game_ids":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Game Ids"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"meta":{"$ref":"#/components/schemas/_EventMetaAPIFullSchema","readOnly":true}},"type":"object","required":["event_type","event_year","event_start_date","event_region","process_note","confidence_score","future_update_needed","id","created_at","updated_at","meta"],"title":"DetailOut"},"app__schema__event_established__EventEstablishedSchema__API__ListOut":{"properties":{"event_type":{"type":"string","title":"Event Type","description":"The type of the event, such as 'standalone_game', 'in_game_collaboration', etc."},"event_year":{"type":"integer","title":"Event Year","description":"The year when the event is scheduled to take place, in YYYY format."},"event_start_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Event Start Date","description":"The start date of the event. Allowed formats YYYY-MM-DD, YYYY-MM-DD(tbd), 2026-Q2(tbd), 2026-H2(tbd), 2026(tbd), if applicable."},"event_end_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Event End Date","description":"The end date of the event in YYYY-MM-DD format, if applicable."},"event_region":{"type":"string","title":"Event Region","description":"\nA required, single-choice field to define the event's regional scope.\n- `global`: Worldwide, no regional restrictions.\n- `greater_china`: Mainland China, Hong Kong, Macau, and Taiwan.\n- `outside_mainland_china`: Everywhere EXCEPT for Mainland China.\n- `mainland_china`: Exclusive to Mainland China.\n- `southeast_asia`: Southeast Asia.\n- `middle_east`: The Middle East region.\n- `other`: A fallback for custom scopes. If selected, `event_countries` must be specified.\n"},"event_countries":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Event Countries","description":"\nA conditional list of ISO 3166-1 alpha-2 country codes.\n- **Rule**: This field MUST only be used when `event_region` is set to 'other'.\n- **Rule**: It MUST be empty (null) for all other predefined regions.\n- **Example**: `['US', 'GB', 'DE']`\n"},"confidence_score":{"type":"integer","maximum":100.0,"minimum":0.0,"title":"Confidence Score","description":"Confidence score for the accuracy and completeness of the extracted information (0-100)."},"id":{"type":"integer","title":"Id","description":"The unique ID of the event."},"cover":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cover"},"ip_ids":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Ip Ids"},"game_ids":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"title":"Game Ids"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"meta":{"$ref":"#/components/schemas/_EventMetaAPIFullSchema","readOnly":true}},"type":"object","required":["event_type","event_year","event_start_date","event_region","confidence_score","id","created_at","updated_at","meta"],"title":"ListOut"},"app__schema__game__GameSchemaComponents__Alias":{"properties":{"name":{"type":"string","title":"Name","description":"Alternative or localized game name. Use the official name when available; mark uncertain translations with `(tbd)`.","examples":["星际争霸（StarCraft）","The Legend of Zelda","原神"]},"language":{"type":"string","title":"Language","description":"ISO 639-1 language code for the alias, for example `zh`, `en`, or `ja`.","examples":["zh","en","ja"]}},"type":"object","required":["name","language"],"title":"Alias"},"app__schema__game__GameSchemaComponents__Company":{"properties":{"name":{"type":"string","title":"Name","description":"Company name. When a localized name is available, use the format `localized name (original name)`; otherwise use the official original name.","examples":["暴雪娱乐（Blizzard Entertainment）","Nintendo Co., Ltd.","腾讯"]},"role":{"type":"string","title":"Role","description":"Company role in the game or IP value chain. Use lowercase role names.","examples":["developer","publisher","licensor","distributor"]},"role_description":{"type":"string","title":"Role Description","description":"Clear description of the company's role and relationship to the game or IP.","examples":["作为开发商，暴雪娱乐（Blizzard Entertainment）负责星际争霸（StarCraft）系列的设计、开发和维护"]}},"type":"object","required":["name","role","role_description"],"title":"Company"},"app__schema__game__GameSchema__API__DetailOut":{"properties":{"origin_country_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Origin Country Code","description":"Game origin market as an ISO 3166-1 alpha-2 country code.","examples":["US","JP","CN","KR"]},"release_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Release Date","description":"Game release date. Values may be exact dates (`YYYY-MM-DD`) or year-only values (`YYYY`).","examples":["1998-03-31","2001","2015-05-19"]},"platforms":{"items":{"type":"string"},"type":"array","title":"Platforms","description":"Release platforms. Supported values are `pc`, `mobile`, `console`, `xr`, and `other`."},"raw_companies":{"items":{"$ref":"#/components/schemas/app__schema__game__GameSchemaComponents__Company"},"type":"array","title":"Raw Companies","description":"Raw company records collected for the game, ordered by business relevance and source confidence.","examples":[[{"name":"暴雪娱乐（Blizzard Entertainment）","role":"developer","role_description":"Original creator and developer of the StarCraft franchise"},{"name":"米哈游（miHoYo）","role":"developer","role_description":"Developer of Genshin Impact"}]]},"aliases":{"items":{"$ref":"#/components/schemas/app__schema__game__GameSchemaComponents__Alias"},"type":"array","title":"Aliases","description":"Known game aliases across languages and markets."},"all_stores":{"items":{"$ref":"#/components/schemas/StoreLink"},"type":"array","title":"All Stores","description":"Store links associated with the game."},"official_links":{"items":{"type":"string"},"type":"array","title":"Official Links","description":"Official links such as websites, social profiles, and store pages."},"appmagic_ids":{"items":{"$ref":"#/components/schemas/AppMagicID"},"type":"array","title":"Appmagic Ids","description":"AppMagic united-application identifiers for mobile game variants."},"future_updates":{"items":{"type":"string"},"type":"array","title":"Future Updates","description":"Known data gaps or values that may need future review.","examples":[["确认'游戏名称(tbd)'的官方中文翻译"]]},"id":{"type":"integer","title":"Id","description":"The unique ID of the game."},"cover":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cover"},"icon":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Icon"},"total_revenue":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Revenue","description":"Total revenue from AppMagic"},"total_downloads":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Downloads","description":"Total downloads from AppMagic"},"tags":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Tags"},"meta":{"$ref":"#/components/schemas/_GameMetaBaseSchema","readOnly":true}},"type":"object","required":["id","meta"],"title":"DetailOut"},"app__schema__game__GameSchema__API__ListOut":{"properties":{"origin_country_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Origin Country Code","description":"Game origin market as an ISO 3166-1 alpha-2 country code.","examples":["US","JP","CN","KR"]},"release_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Release Date","description":"Game release date. Values may be exact dates (`YYYY-MM-DD`) or year-only values (`YYYY`).","examples":["1998-03-31","2001","2015-05-19"]},"platforms":{"items":{"type":"string"},"type":"array","title":"Platforms","description":"Release platforms. Supported values are `pc`, `mobile`, `console`, `xr`, and `other`."},"id":{"type":"integer","title":"Id","description":"The unique ID of the game."},"cover":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cover"},"icon":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Icon"},"total_revenue":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Revenue","description":"Total revenue from AppMagic"},"total_downloads":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total Downloads","description":"Total downloads from AppMagic"},"tags":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Tags"},"meta":{"$ref":"#/components/schemas/ListMeta","readOnly":true}},"type":"object","required":["id","meta"],"title":"ListOut"},"app__schema__ip__IPSchemaComponents__Alias":{"properties":{"name":{"type":"string","title":"Name","description":"Alternative or localized IP name. Use the official name when available; mark uncertain translations with `(tbd)`.","examples":["星际争霸（StarCraft）","The Legend of Zelda","原神"]},"language":{"type":"string","title":"Language","description":"ISO 639-1 language code for the alias, for example `zh`, `en`, or `ja`.","examples":["zh","en","ja"]}},"type":"object","required":["name","language"],"title":"Alias"},"app__schema__ip__IPSchemaComponents__Company":{"properties":{"name":{"type":"string","title":"Name","description":"Company name. When a localized name is available, use the format `localized name (original name)`; otherwise use the official original name.","examples":["暴雪娱乐（Blizzard Entertainment）","Nintendo Co., Ltd.","腾讯"]},"role":{"type":"string","title":"Role","description":"Company role in the IP ownership, production, licensing, or distribution context. Use lowercase role names.","examples":["developer","publisher","licensor","distributor"]},"role_description":{"type":"string","title":"Role Description","description":"Clear description of the company's role and relationship to the IP.","examples":["作为开发商，暴雪娱乐（Blizzard Entertainment）负责星际争霸（StarCraft）系列的设计、开发和维护"]}},"type":"object","required":["name","role","role_description"],"title":"Company"},"app__schema__ip__IPSchema__API__DetailOut":{"properties":{"origin_country_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Origin Country Code","description":"IP origin market as an ISO 3166-1 alpha-2 country code.","examples":["US","JP","CN","KR"]},"debut_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Debut Date","description":"IP debut or first release date. Values may be exact dates (`YYYY-MM-DD`) or year-only values (`YYYY`).","examples":["1998-03-31","2001","2015-05-19"]},"aliases":{"items":{"$ref":"#/components/schemas/app__schema__ip__IPSchemaComponents__Alias"},"type":"array","title":"Aliases","description":"Known IP aliases across languages and markets."},"official_links":{"items":{"type":"string"},"type":"array","title":"Official Links","description":"Official links such as websites, social profiles, and store pages.","examples":[["https://starcraft.com","https://twitter.com/StarCraft","https://www.youtube.com/user/StarCraft"]]},"future_updates":{"items":{"type":"string"},"type":"array","title":"Future Updates","description":"Known data gaps or values that may need future review.","examples":[["确认'游戏名称(tbd)'的官方中文翻译"]]},"id":{"type":"integer","title":"Id","description":"The unique ID of the IP."},"icon":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Icon"},"cover":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cover"},"tags":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Tags"},"meta":{"$ref":"#/components/schemas/_IPMetaBaseSchema","readOnly":true}},"type":"object","required":["id","meta"],"title":"DetailOut"},"app__schema__ip__IPSchema__API__ListOut":{"properties":{"origin_country_code":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Origin Country Code","description":"IP origin market as an ISO 3166-1 alpha-2 country code.","examples":["US","JP","CN","KR"]},"debut_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Debut Date","description":"IP debut or first release date. Values may be exact dates (`YYYY-MM-DD`) or year-only values (`YYYY`).","examples":["1998-03-31","2001","2015-05-19"]},"aliases":{"items":{"$ref":"#/components/schemas/app__schema__ip__IPSchemaComponents__Alias"},"type":"array","title":"Aliases","description":"Known IP aliases across languages and markets."},"official_links":{"items":{"type":"string"},"type":"array","title":"Official Links","description":"Official links such as websites, social profiles, and store pages.","examples":[["https://starcraft.com","https://twitter.com/StarCraft","https://www.youtube.com/user/StarCraft"]]},"future_updates":{"items":{"type":"string"},"type":"array","title":"Future Updates","description":"Known data gaps or values that may need future review.","examples":[["确认'游戏名称(tbd)'的官方中文翻译"]]},"id":{"type":"integer","title":"Id","description":"The unique ID of the IP."},"icon":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Icon"},"cover":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cover"},"tags":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Tags"},"meta":{"$ref":"#/components/schemas/_IPMetaBaseSchema","readOnly":true}},"type":"object","required":["id","meta"],"title":"ListOut"}},"securitySchemes":{"APIKeyBearer":{"type":"http","scheme":"bearer","bearerFormat":"API Key","description":"Contact the IPverse team to obtain an API key."}}},"tags":[{"name":"events","description":"Search and fetch IP-game collaboration events."},{"name":"games","description":"Search and fetch game records and game market data."},{"name":"ips","description":"Search and fetch intellectual property records."},{"name":"account","description":"Account utilities such as credit balance."}],"servers":[{"url":"/","description":"Current host"}]}