-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathstore-openapi.json
More file actions
1 lines (1 loc) · 4.29 KB
/
store-openapi.json
File metadata and controls
1 lines (1 loc) · 4.29 KB
1
{"openapi":"3.1.0","info":{"title":"Store Query Service","description":"Read Model (CQRS) for Product Catalog","version":"0.1.0"},"paths":{"/health":{"get":{"summary":"Health Check","operationId":"health_check_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}}}}},"/api/v1/store/offerings":{"get":{"summary":"List Offerings","operationId":"list_offerings_api_v1_store_offerings_get","parameters":[{"name":"skip","in":"query","required":false,"schema":{"type":"integer","minimum":0,"default":0,"title":"Skip"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":1000,"minimum":1,"default":100,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/store/offerings/{offering_id}":{"get":{"summary":"Get Offering","operationId":"get_offering_api_v1_store_offerings__offering_id__get","parameters":[{"name":"offering_id","in":"path","required":true,"schema":{"type":"string","title":"Offering Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"delete":{"summary":"Delete Offering Read","operationId":"delete_offering_read_api_v1_store_offerings__offering_id__delete","parameters":[{"name":"offering_id","in":"path","required":true,"schema":{"type":"string","title":"Offering Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/store/search":{"get":{"summary":"Search Offerings","description":"Search offerings using Elasticsearch.\n\nArgs:\n q: Full-text search query.\n min_price: Minimum price filter.\n max_price: Maximum price filter.\n channel: Sales channel filter.\n characteristic: List of characteristic filters in format \"name:value\".\n skip: Pagination offset.\n limit: Page size.","operationId":"search_offerings_api_v1_store_search_get","parameters":[{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Q"}},{"name":"min_price","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Min Price"}},{"name":"max_price","in":"query","required":false,"schema":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Max Price"}},{"name":"channel","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Channel"}},{"name":"characteristic","in":"query","required":false,"schema":{"anyOf":[{"type":"array","items":{"type":"string"}},{"type":"null"}],"title":"Characteristic"}},{"name":"skip","in":"query","required":false,"schema":{"type":"integer","default":0,"title":"Skip"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","default":10,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/store/sync/{offering_id}":{"post":{"summary":"Sync Offering","operationId":"sync_offering_api_v1_store_sync__offering_id__post","parameters":[{"name":"offering_id","in":"path","required":true,"schema":{"type":"string","title":"Offering Id"}}],"responses":{"204":{"description":"Successful Response"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"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"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}