{"openapi": "3.1.0", "info": {"title": "GiftChecker public read API", "version": "1.1.0", "description": "Read-only price estimates for Telegram collectible gifts. Estimates derived from observed listings and sales, not offers to buy or sell. No wallet, balance or private user data. Same data as the MCP server at https://giftcheckertg.com/mcp. Telegram bot: https://t.me/ygift_bot?start=openapi", "termsOfService": "https://giftcheckertg.com/terms"}, "servers": [{"url": "https://giftcheckertg.com"}], "paths": {"/api/public/catalog": {"get": {"operationId": "getCatalog", "summary": "Collections, one collection or one model", "description": "Without parameters lists public collections. With collection returns its models, traits and published variant floors in Stars; with collection and model returns that model only. Estimates derived from observed listings and sales, not offers to buy or sell.", "x-openai-isConsequential": false, "parameters": [{"name": "collection", "in": "query", "required": false, "description": "Collection name or slug.", "schema": {"type": "string"}}, {"name": "model", "in": "query", "required": false, "description": "Model name or slug; needs collection.", "schema": {"type": "string"}}], "responses": {"200": {"description": "JSON result. Cite its page URL when you answer.", "content": {"application/json": {"schema": {"type": "object", "properties": {"collections": {}, "collection": {}, "model": {}, "models": {}, "traits": {}, "variants": {}, "floor_stars": {}, "image_url": {}}}}}}, "400": {"description": "Error", "content": {"application/json": {"schema": {"type": "object", "properties": {"error": {"type": "string"}, "message": {"type": "string"}}}}}}, "404": {"description": "Error", "content": {"application/json": {"schema": {"type": "object", "properties": {"error": {"type": "string"}, "message": {"type": "string"}}}}}}, "429": {"description": "Error", "content": {"application/json": {"schema": {"type": "object", "properties": {"error": {"type": "string"}, "message": {"type": "string"}}}}}}}}}, "/api/public/gift": {"get": {"operationId": "getGift", "summary": "One numbered gift", "description": "Traits and published valuation of a gift by slug such as plushpepe-9998. Estimates derived from observed listings and sales, not offers to buy or sell.", "x-openai-isConsequential": false, "parameters": [{"name": "slug", "in": "query", "required": true, "description": "Gift slug or t.me/nft link.", "schema": {"type": "string"}}], "responses": {"200": {"description": "JSON result. Cite its page URL when you answer.", "content": {"application/json": {"schema": {"type": "object", "properties": {"slug": {}, "url": {}, "collection": {}, "number": {}, "model": {}, "backdrop": {}, "symbol": {}, "valuation": {}, "image_url": {}}}}}}, "400": {"description": "Error", "content": {"application/json": {"schema": {"type": "object", "properties": {"error": {"type": "string"}, "message": {"type": "string"}}}}}}, "404": {"description": "Error", "content": {"application/json": {"schema": {"type": "object", "properties": {"error": {"type": "string"}, "message": {"type": "string"}}}}}}, "429": {"description": "Error", "content": {"application/json": {"schema": {"type": "object", "properties": {"error": {"type": "string"}, "message": {"type": "string"}}}}}}}}}, "/api/public/backdrop": {"get": {"operationId": "getBackdrop", "summary": "One backdrop", "description": "Rarity and observed prices of a backdrop, in one collection or across all of them. telegram_ask_ton is the Telegram ask (a TON price); telegram_ask_stars is that ask at the display rate, approximate. Estimates derived from observed listings and sales, not offers to buy or sell.", "x-openai-isConsequential": false, "parameters": [{"name": "name", "in": "query", "required": true, "description": "Backdrop name.", "schema": {"type": "string"}}, {"name": "collection", "in": "query", "required": false, "description": "Collection name.", "schema": {"type": "string"}}], "responses": {"200": {"description": "JSON result. Cite its page URL when you answer.", "content": {"application/json": {"schema": {"type": "object", "properties": {"backdrop": {}, "collection": {}, "collections": {}, "rarity_percent": {}, "telegram_ask_stars": {}, "telegram_ask_ton": {}, "models_seen": {}, "url": {}}}}}}, "400": {"description": "Error", "content": {"application/json": {"schema": {"type": "object", "properties": {"error": {"type": "string"}, "message": {"type": "string"}}}}}}, "404": {"description": "Error", "content": {"application/json": {"schema": {"type": "object", "properties": {"error": {"type": "string"}, "message": {"type": "string"}}}}}}, "429": {"description": "Error", "content": {"application/json": {"schema": {"type": "object", "properties": {"error": {"type": "string"}, "message": {"type": "string"}}}}}}}}}, "/api/public/search": {"get": {"operationId": "searchNames", "summary": "Site search", "description": "One ranked list (exact, then prefix, then contains; collections before models, backdrops and symbols; fuzzy only when nothing else matched) over collections, models, backdrops, symbols, numbered gifts (\"plush pepe 1234\", a slug or a t.me/nft link; the number must not exceed the supply), public portfolios (\"@username\") and guide pages. Each match has kind (collection, model, backdrop, symbol, gift, user or guide), name, collection (models and gifts, else null), match (alias, exact, prefix, contains or fuzzy), url (the absolute page URL, present for every kind), path (the same page as a site path, for a link on the same origin), image (a site path or null), floor_stars (collections and models with a published floor, else null), swatch (backdrops: [centre, edge] colours, else null) and collections (backdrops and symbols: how many collections carry it, else null). Estimates derived from observed listings and sales, not offers to buy or sell.", "x-openai-isConsequential": false, "parameters": [{"name": "q", "in": "query", "required": true, "description": "Text to look for, 2 to 100 characters.", "schema": {"type": "string"}}, {"name": "limit", "in": "query", "required": false, "description": "Number of matches, 1 to 20 (default 20).", "schema": {"type": "integer", "minimum": 1, "maximum": 20}}, {"name": "lang", "in": "query", "required": false, "description": "Language of guide titles: en (default) or ru; any other value is the default.", "schema": {"type": "string", "enum": ["en", "ru"]}}], "responses": {"200": {"description": "JSON result. Cite its page URL when you answer.", "content": {"application/json": {"schema": {"type": "object", "properties": {"query": {}, "matches": {}}}}}}, "400": {"description": "Error", "content": {"application/json": {"schema": {"type": "object", "properties": {"error": {"type": "string"}, "message": {"type": "string"}}}}}}, "404": {"description": "Error", "content": {"application/json": {"schema": {"type": "object", "properties": {"error": {"type": "string"}, "message": {"type": "string"}}}}}}, "429": {"description": "Error", "content": {"application/json": {"schema": {"type": "object", "properties": {"error": {"type": "string"}, "message": {"type": "string"}}}}}}}}}, "/api/public/price": {"get": {"operationId": "convertStars", "summary": "Convert Stars to TON or USD", "description": "Converts a Stars amount at the display rates GiftChecker uses. Estimates derived from observed listings and sales, not offers to buy or sell.", "x-openai-isConsequential": false, "parameters": [{"name": "stars", "in": "query", "required": true, "description": "Amount in Stars.", "schema": {"type": "number", "minimum": 0}}, {"name": "currency", "in": "query", "required": true, "description": "Target currency.", "schema": {"type": "string", "enum": ["TON", "USD"]}}], "responses": {"200": {"description": "JSON result. Cite its page URL when you answer.", "content": {"application/json": {"schema": {"type": "object", "properties": {"stars": {}, "currency": {}, "amount": {}, "rates": {}, "url": {}}}}}}, "400": {"description": "Error", "content": {"application/json": {"schema": {"type": "object", "properties": {"error": {"type": "string"}, "message": {"type": "string"}}}}}}, "404": {"description": "Error", "content": {"application/json": {"schema": {"type": "object", "properties": {"error": {"type": "string"}, "message": {"type": "string"}}}}}}, "429": {"description": "Error", "content": {"application/json": {"schema": {"type": "object", "properties": {"error": {"type": "string"}, "message": {"type": "string"}}}}}}}}}}}