{"openapi":"3.0.3","info":{"title":"Blessed Panel — API сайта","version":"1.0","description":"Внешнее API покупателей сайта. Баланс и ключи Telegram-бота независимы."},"servers":[{"url":"/"}],"paths":{"/api/v1/balance":{"get":{"summary":"External Balance","operationId":"external_balance_api_v1_balance_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"BuyerBearer":[]}]}},"/api/v1/catalog":{"get":{"summary":"External Catalogs","operationId":"external_catalogs_api_v1_catalog_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"BuyerBearer":[]}]}},"/api/v1/catalog/{family}":{"get":{"summary":"External Categories","operationId":"external_categories_api_v1_catalog__family__get","parameters":[{"name":"family","in":"path","required":true,"schema":{"type":"string","title":"Family"}},{"name":"search","in":"query","required":false,"schema":{"type":"string","maxLength":80,"default":"","title":"Search"}},{"name":"page","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":1,"title":"Page"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":48,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"BuyerBearer":[]}]}},"/api/v1/products/{family}/{category_id}":{"get":{"summary":"External Products","operationId":"external_products_api_v1_products__family___category_id__get","parameters":[{"name":"family","in":"path","required":true,"schema":{"type":"string","title":"Family"}},{"name":"category_id","in":"path","required":true,"schema":{"type":"string","title":"Category Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"BuyerBearer":[]}]}},"/api/v1/orders":{"post":{"summary":"External Purchase","operationId":"external_purchase_api_v1_orders_post","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiOrderCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"BuyerBearer":[]}]},"get":{"summary":"External Orders","operationId":"external_orders_api_v1_orders_get","parameters":[{"name":"page","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":1,"title":"Page"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"BuyerBearer":[]}]}},"/api/v1/orders/{order_id}":{"get":{"summary":"External Order Detail","operationId":"external_order_detail_api_v1_orders__order_id__get","parameters":[{"name":"order_id","in":"path","required":true,"schema":{"type":"integer","title":"Order Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"BuyerBearer":[]}]}},"/api/v1/info":{"get":{"summary":"External Info","operationId":"external_info_api_v1_info_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"BuyerBearer":[]}]}},"/api/v1/quote":{"post":{"summary":"External Quote","operationId":"external_quote_api_v1_quote_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiQuoteCreate"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"BuyerBearer":[]}]}},"/api/v1/orders/by-request/{request_id}":{"get":{"summary":"External Order By Request","operationId":"external_order_by_request_api_v1_orders_by_request__request_id__get","parameters":[{"name":"request_id","in":"path","required":true,"schema":{"type":"string","title":"Request Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"BuyerBearer":[]}]}},"/api/v1/deposits/options":{"get":{"summary":"External Deposit Options","operationId":"external_deposit_options_api_v1_deposits_options_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}},"security":[{"BuyerBearer":[]}]}},"/api/v1/deposits":{"post":{"summary":"External Deposit Create","operationId":"external_deposit_create_api_v1_deposits_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiDepositCreate"}}},"required":true},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"BuyerBearer":[]}]}},"/api/v1/deposits/{deposit_id}":{"get":{"summary":"External Deposit Status","operationId":"external_deposit_status_api_v1_deposits__deposit_id__get","parameters":[{"name":"deposit_id","in":"path","required":true,"schema":{"type":"integer","title":"Deposit Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"BuyerBearer":[]}]}},"/api/v1/orders/by-number/{order_number}":{"get":{"summary":"External Order By Number","description":"Retrieve a buyer's order using its public FazerCards number (ord-...).","operationId":"external_order_by_number_api_v1_orders_by_number__order_number__get","parameters":[{"name":"order_number","in":"path","required":true,"schema":{"type":"string","title":"Order Number"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"security":[{"BuyerBearer":[]}]}}},"components":{"securitySchemes":{"BuyerBearer":{"type":"http","scheme":"bearer"}},"schemas":{"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"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"},"ApiOrderCreate":{"properties":{"family":{"type":"string","maxLength":40,"title":"Family"},"category_id":{"type":"string","maxLength":180,"title":"Category Id","default":""},"offer_id":{"type":"string","maxLength":180,"title":"Offer Id","default":""},"quantity":{"type":"integer","maximum":10000.0,"minimum":1.0,"title":"Quantity","default":1},"fields":{"additionalProperties":{"type":"string"},"type":"object","title":"Fields"},"invite_url":{"type":"string","maxLength":300,"title":"Invite Url","default":""},"telegram_username":{"type":"string","maxLength":40,"title":"Telegram Username","default":""},"request_id":{"type":"string","maxLength":80,"minLength":24,"pattern":"^[A-Za-z0-9_-]+$","title":"Request Id"},"max_total":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,10}|(?=[\\d.]{1,19}0*$)\\d{0,10}\\.\\d{0,8}0*$)"}],"title":"Max Total"}},"additionalProperties":false,"type":"object","required":["family","request_id","max_total"],"title":"ApiOrderCreate"},"ApiQuoteCreate":{"properties":{"family":{"type":"string","maxLength":40,"title":"Family"},"category_id":{"type":"string","maxLength":180,"title":"Category Id","default":""},"offer_id":{"type":"string","maxLength":180,"title":"Offer Id","default":""},"quantity":{"type":"integer","maximum":10000.0,"minimum":1.0,"title":"Quantity","default":1},"fields":{"additionalProperties":{"type":"string"},"type":"object","title":"Fields"},"invite_url":{"type":"string","maxLength":300,"title":"Invite Url","default":""},"telegram_username":{"type":"string","maxLength":40,"title":"Telegram Username","default":""}},"additionalProperties":false,"type":"object","required":["family"],"title":"ApiQuoteCreate"},"ApiDepositCreate":{"properties":{"amount":{"anyOf":[{"type":"number","maximum":5000.0,"exclusiveMinimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*(?:\\d{0,14}|(?=[\\d.]{1,19}0*$)\\d{0,14}\\.\\d{0,4}0*$)"}],"title":"Amount"},"network":{"type":"string","pattern":"^(trc20|bep20|ton|aptos)$","title":"Network"},"request_id":{"type":"string","maxLength":80,"minLength":24,"pattern":"^[A-Za-z0-9_-]+$","title":"Request Id"}},"additionalProperties":false,"type":"object","required":["amount","network","request_id"],"title":"ApiDepositCreate"}}}}