{"openapi":"3.1.0","info":{"title":"GET /api/v1/ai-reporting/decks/{deck_id}","version":"1.0.0","description":"Get a deck"},"servers":[{"url":"https://api.ondayzero.com","description":"Production"}],"paths":{"/api/v1/ai-reporting/decks/{deck_id}":{"get":{"tags":["ai-reporting"],"summary":"Get a deck","description":"Fetch the full DeckSpec for a single deck.","operationId":"get_deck_api_v1_ai_reporting_decks__deck_id__get","parameters":[{"name":"deck_id","in":"path","required":true,"schema":{"type":"string","title":"Deck Id"}},{"name":"authorization","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Authorization"}},{"name":"x-business-id","in":"header","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"X-Business-Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeckSpec"}}}},"401":{"description":"Unauthorized - Authentication required","content":{"application/json":{"example":{"detail":"Not authenticated"}}}},"403":{"description":"Forbidden - Insufficient permissions","content":{"application/json":{"example":{"detail":"Not enough permissions"}}}},"404":{"description":"Not Found - Resource does not exist","content":{"application/json":{"example":{"detail":"Resource not found"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"ArAgingBucket":{"properties":{"label":{"type":"string","title":"Label"},"amount_cents":{"type":"integer","title":"Amount Cents"},"invoice_count":{"type":"integer","title":"Invoice Count"}},"additionalProperties":false,"type":"object","required":["label","amount_cents","invoice_count"],"title":"ArAgingBucket"},"ArAgingOverdue":{"properties":{"customer_name":{"type":"string","title":"Customer Name"},"amount_cents":{"type":"integer","title":"Amount Cents"},"days_past_due":{"type":"integer","title":"Days Past Due"}},"additionalProperties":false,"type":"object","required":["customer_name","amount_cents","days_past_due"],"title":"ArAgingOverdue"},"ArAgingSlide":{"properties":{"id":{"type":"string","title":"Id"},"title":{"type":"string","maxLength":200,"title":"Title"},"commentary":{"anyOf":[{"$ref":"#/components/schemas/SlideCommentary-Output"},{"type":"null"}]},"display_order":{"type":"integer","maximum":999.0,"minimum":0.0,"title":"Display Order","default":0},"hidden":{"type":"boolean","title":"Hidden","default":false},"slide_type":{"type":"string","const":"ar_aging","title":"Slide Type","default":"ar_aging"},"data":{"$ref":"#/components/schemas/ArAgingSlideData"}},"additionalProperties":false,"type":"object","required":["id","title","data"],"title":"ArAgingSlide"},"ArAgingSlideData":{"properties":{"total_outstanding_cents":{"type":"integer","title":"Total Outstanding Cents"},"buckets":{"items":{"$ref":"#/components/schemas/ArAgingBucket"},"type":"array","maxItems":8,"title":"Buckets"},"top_overdue":{"items":{"$ref":"#/components/schemas/ArAgingOverdue"},"type":"array","maxItems":12,"title":"Top Overdue"}},"additionalProperties":false,"type":"object","required":["total_outstanding_cents"],"title":"ArAgingSlideData"},"AskItem":{"properties":{"title":{"type":"string","title":"Title"},"detail":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Detail"},"kind":{"anyOf":[{"type":"string","enum":["decision","fyi","discussion"]},{"type":"null"}],"title":"Kind"}},"additionalProperties":false,"type":"object","required":["title"],"title":"AskItem"},"AsksSlide":{"properties":{"id":{"type":"string","title":"Id"},"title":{"type":"string","maxLength":200,"title":"Title"},"commentary":{"anyOf":[{"$ref":"#/components/schemas/SlideCommentary-Output"},{"type":"null"}]},"display_order":{"type":"integer","maximum":999.0,"minimum":0.0,"title":"Display Order","default":0},"hidden":{"type":"boolean","title":"Hidden","default":false},"slide_type":{"type":"string","const":"asks","title":"Slide Type","default":"asks"},"data":{"$ref":"#/components/schemas/AsksSlideData"}},"additionalProperties":false,"type":"object","required":["id","title","data"],"title":"AsksSlide"},"AsksSlideData":{"properties":{"asks":{"items":{"$ref":"#/components/schemas/AskItem"},"type":"array","maxItems":10,"title":"Asks"}},"additionalProperties":false,"type":"object","title":"AsksSlideData"},"CashPositionSlide":{"properties":{"id":{"type":"string","title":"Id"},"title":{"type":"string","maxLength":200,"title":"Title"},"commentary":{"anyOf":[{"$ref":"#/components/schemas/SlideCommentary-Output"},{"type":"null"}]},"display_order":{"type":"integer","maximum":999.0,"minimum":0.0,"title":"Display Order","default":0},"hidden":{"type":"boolean","title":"Hidden","default":false},"slide_type":{"type":"string","const":"cash_position","title":"Slide Type","default":"cash_position"},"data":{"$ref":"#/components/schemas/CashPositionSlideData"}},"additionalProperties":false,"type":"object","required":["id","title","data"],"title":"CashPositionSlide"},"CashPositionSlideData":{"properties":{"current_cash_cents":{"type":"integer","title":"Current Cash Cents"},"series":{"items":{"$ref":"#/components/schemas/CashSeriesPoint"},"type":"array","maxItems":400,"title":"Series"},"burn_rate_cents_per_month":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Burn Rate Cents Per Month"},"runway_months":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Runway Months"}},"additionalProperties":false,"type":"object","required":["current_cash_cents"],"title":"CashPositionSlideData"},"CashSeriesPoint":{"properties":{"date":{"type":"string","format":"date","title":"Date"},"cash_cents":{"type":"integer","title":"Cash Cents"}},"additionalProperties":false,"type":"object","required":["date","cash_cents"],"title":"CashSeriesPoint"},"CoverSlide":{"properties":{"id":{"type":"string","title":"Id"},"title":{"type":"string","maxLength":200,"title":"Title"},"commentary":{"anyOf":[{"$ref":"#/components/schemas/SlideCommentary-Output"},{"type":"null"}]},"display_order":{"type":"integer","maximum":999.0,"minimum":0.0,"title":"Display Order","default":0},"hidden":{"type":"boolean","title":"Hidden","default":false},"slide_type":{"type":"string","const":"cover","title":"Slide Type","default":"cover"},"data":{"$ref":"#/components/schemas/CoverSlideData"}},"additionalProperties":false,"type":"object","required":["id","title","data"],"title":"CoverSlide"},"CoverSlideData":{"properties":{"business_name":{"type":"string","title":"Business Name"},"period_label":{"type":"string","title":"Period Label"},"generated_at":{"type":"string","format":"date-time","title":"Generated At"},"prepared_for":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prepared For"},"prepared_by":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prepared By"},"tagline":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tagline"}},"additionalProperties":false,"type":"object","required":["business_name","period_label","generated_at"],"title":"CoverSlideData"},"CustomSlideData":{"properties":{"markdown":{"type":"string","maxLength":8000,"title":"Markdown"}},"additionalProperties":false,"type":"object","required":["markdown"],"title":"CustomSlideData"},"CustomSlideSpec":{"properties":{"id":{"type":"string","title":"Id"},"title":{"type":"string","maxLength":200,"title":"Title"},"commentary":{"anyOf":[{"$ref":"#/components/schemas/SlideCommentary-Output"},{"type":"null"}]},"display_order":{"type":"integer","maximum":999.0,"minimum":0.0,"title":"Display Order","default":0},"hidden":{"type":"boolean","title":"Hidden","default":false},"slide_type":{"type":"string","const":"custom","title":"Slide Type","default":"custom"},"data":{"$ref":"#/components/schemas/CustomSlideData"}},"additionalProperties":false,"type":"object","required":["id","title","data"],"title":"CustomSlideSpec"},"CustomerConcentrationRow":{"properties":{"customer_name":{"type":"string","title":"Customer Name"},"revenue_cents":{"type":"integer","title":"Revenue Cents"},"pct_of_revenue":{"type":"number","maximum":1.0,"minimum":0.0,"title":"Pct Of Revenue"}},"additionalProperties":false,"type":"object","required":["customer_name","revenue_cents","pct_of_revenue"],"title":"CustomerConcentrationRow"},"CustomerConcentrationSlide":{"properties":{"id":{"type":"string","title":"Id"},"title":{"type":"string","maxLength":200,"title":"Title"},"commentary":{"anyOf":[{"$ref":"#/components/schemas/SlideCommentary-Output"},{"type":"null"}]},"display_order":{"type":"integer","maximum":999.0,"minimum":0.0,"title":"Display Order","default":0},"hidden":{"type":"boolean","title":"Hidden","default":false},"slide_type":{"type":"string","const":"customer_concentration","title":"Slide Type","default":"customer_concentration"},"data":{"$ref":"#/components/schemas/CustomerConcentrationSlideData"}},"additionalProperties":false,"type":"object","required":["id","title","data"],"title":"CustomerConcentrationSlide"},"CustomerConcentrationSlideData":{"properties":{"total_revenue_cents":{"type":"integer","title":"Total Revenue Cents"},"top_customers":{"items":{"$ref":"#/components/schemas/CustomerConcentrationRow"},"type":"array","maxItems":12,"title":"Top Customers"},"concentration_index":{"anyOf":[{"type":"number","maximum":1.0,"minimum":0.0},{"type":"null"}],"title":"Concentration Index"}},"additionalProperties":false,"type":"object","required":["total_revenue_cents"],"title":"CustomerConcentrationSlideData"},"DeckSpec":{"properties":{"id":{"type":"string","title":"Id"},"business_id":{"type":"string","title":"Business Id"},"title":{"type":"string","title":"Title"},"period_start":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Period Start"},"period_end":{"anyOf":[{"type":"string","format":"date"},{"type":"null"}],"title":"Period End"},"slides":{"items":{"oneOf":[{"$ref":"#/components/schemas/CoverSlide"},{"$ref":"#/components/schemas/ExecSummarySlide"},{"$ref":"#/components/schemas/PnlSummarySlide"},{"$ref":"#/components/schemas/ArAgingSlide"},{"$ref":"#/components/schemas/CashPositionSlide"},{"$ref":"#/components/schemas/InventoryCogsSlide"},{"$ref":"#/components/schemas/CustomerConcentrationSlide"},{"$ref":"#/components/schemas/AsksSlide"},{"$ref":"#/components/schemas/CustomSlideSpec"}],"discriminator":{"propertyName":"slide_type","mapping":{"ar_aging":"#/components/schemas/ArAgingSlide","asks":"#/components/schemas/AsksSlide","cash_position":"#/components/schemas/CashPositionSlide","cover":"#/components/schemas/CoverSlide","custom":"#/components/schemas/CustomSlideSpec","customer_concentration":"#/components/schemas/CustomerConcentrationSlide","exec_summary":"#/components/schemas/ExecSummarySlide","inventory_cogs":"#/components/schemas/InventoryCogsSlide","pnl_summary":"#/components/schemas/PnlSummarySlide"}}},"type":"array","maxItems":40,"title":"Slides"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"theme":{"anyOf":[{"$ref":"#/components/schemas/DeckTheme"},{"type":"null"}]}},"additionalProperties":false,"type":"object","required":["id","business_id","title","created_at"],"title":"DeckSpec","description":"The full deck payload — exactly what the FE renderer consumes."},"DeckTheme":{"properties":{"accent_color":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Accent Color"},"cover_image_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cover Image Url"}},"additionalProperties":false,"type":"object","title":"DeckTheme"},"ExecSummaryKpi":{"properties":{"label":{"type":"string","title":"Label"},"value":{"type":"string","title":"Value"},"delta_label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Delta Label"},"trend":{"anyOf":[{"type":"string","enum":["up","down","flat"]},{"type":"null"}],"title":"Trend"}},"additionalProperties":false,"type":"object","required":["label","value"],"title":"ExecSummaryKpi"},"ExecSummarySlide":{"properties":{"id":{"type":"string","title":"Id"},"title":{"type":"string","maxLength":200,"title":"Title"},"commentary":{"anyOf":[{"$ref":"#/components/schemas/SlideCommentary-Output"},{"type":"null"}]},"display_order":{"type":"integer","maximum":999.0,"minimum":0.0,"title":"Display Order","default":0},"hidden":{"type":"boolean","title":"Hidden","default":false},"slide_type":{"type":"string","const":"exec_summary","title":"Slide Type","default":"exec_summary"},"data":{"$ref":"#/components/schemas/ExecSummarySlideData"}},"additionalProperties":false,"type":"object","required":["id","title","data"],"title":"ExecSummarySlide"},"ExecSummarySlideData":{"properties":{"kpis":{"items":{"$ref":"#/components/schemas/ExecSummaryKpi"},"type":"array","maxItems":8,"title":"Kpis"},"highlights":{"items":{"type":"string"},"type":"array","maxItems":8,"title":"Highlights"}},"additionalProperties":false,"type":"object","title":"ExecSummarySlideData"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"InventoryCogsSlide":{"properties":{"id":{"type":"string","title":"Id"},"title":{"type":"string","maxLength":200,"title":"Title"},"commentary":{"anyOf":[{"$ref":"#/components/schemas/SlideCommentary-Output"},{"type":"null"}]},"display_order":{"type":"integer","maximum":999.0,"minimum":0.0,"title":"Display Order","default":0},"hidden":{"type":"boolean","title":"Hidden","default":false},"slide_type":{"type":"string","const":"inventory_cogs","title":"Slide Type","default":"inventory_cogs"},"data":{"$ref":"#/components/schemas/InventoryCogsSlideData"}},"additionalProperties":false,"type":"object","required":["id","title","data"],"title":"InventoryCogsSlide"},"InventoryCogsSlideData":{"properties":{"inventory_value_cents":{"type":"integer","title":"Inventory Value Cents"},"inventory_days_on_hand":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Inventory Days On Hand"},"cogs_last_period_cents":{"type":"integer","title":"Cogs Last Period Cents"},"top_skus":{"items":{"$ref":"#/components/schemas/InventoryTopSku"},"type":"array","maxItems":12,"title":"Top Skus"}},"additionalProperties":false,"type":"object","required":["inventory_value_cents","cogs_last_period_cents"],"title":"InventoryCogsSlideData"},"InventoryTopSku":{"properties":{"sku":{"type":"string","title":"Sku"},"name":{"type":"string","title":"Name"},"qty_on_hand":{"type":"integer","title":"Qty On Hand"},"value_cents":{"type":"integer","title":"Value Cents"}},"additionalProperties":false,"type":"object","required":["sku","name","qty_on_hand","value_cents"],"title":"InventoryTopSku"},"PnlMonthRow":{"properties":{"label":{"type":"string","title":"Label"},"revenue_cents":{"type":"integer","title":"Revenue Cents"},"cogs_cents":{"type":"integer","title":"Cogs Cents"},"opex_cents":{"type":"integer","title":"Opex Cents"},"net_income_cents":{"type":"integer","title":"Net Income Cents"}},"additionalProperties":false,"type":"object","required":["label","revenue_cents","cogs_cents","opex_cents","net_income_cents"],"title":"PnlMonthRow"},"PnlSummarySlide":{"properties":{"id":{"type":"string","title":"Id"},"title":{"type":"string","maxLength":200,"title":"Title"},"commentary":{"anyOf":[{"$ref":"#/components/schemas/SlideCommentary-Output"},{"type":"null"}]},"display_order":{"type":"integer","maximum":999.0,"minimum":0.0,"title":"Display Order","default":0},"hidden":{"type":"boolean","title":"Hidden","default":false},"slide_type":{"type":"string","const":"pnl_summary","title":"Slide Type","default":"pnl_summary"},"data":{"$ref":"#/components/schemas/PnlSummarySlideData"}},"additionalProperties":false,"type":"object","required":["id","title","data"],"title":"PnlSummarySlide"},"PnlSummarySlideData":{"properties":{"period_label":{"type":"string","title":"Period Label"},"months":{"items":{"$ref":"#/components/schemas/PnlMonthRow"},"type":"array","maxItems":24,"title":"Months"},"totals":{"$ref":"#/components/schemas/PnlTotals"}},"additionalProperties":false,"type":"object","required":["period_label","totals"],"title":"PnlSummarySlideData"},"PnlTotals":{"properties":{"revenue_cents":{"type":"integer","title":"Revenue Cents"},"cogs_cents":{"type":"integer","title":"Cogs Cents"},"gross_profit_cents":{"type":"integer","title":"Gross Profit Cents"},"opex_cents":{"type":"integer","title":"Opex Cents"},"net_income_cents":{"type":"integer","title":"Net Income Cents"},"gross_margin_pct":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Gross Margin Pct"},"net_margin_pct":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Net Margin Pct"}},"additionalProperties":false,"type":"object","required":["revenue_cents","cogs_cents","gross_profit_cents","opex_cents","net_income_cents"],"title":"PnlTotals"},"SlideClaim":{"properties":{"text":{"type":"string","maxLength":600,"title":"Text"},"citations":{"items":{"$ref":"#/components/schemas/SlideSourceRef"},"type":"array","maxItems":6,"title":"Citations"}},"additionalProperties":false,"type":"object","required":["text"],"title":"SlideClaim","description":"A grounded paragraph/bullet rendered in the slide commentary block."},"SlideCommentary-Output":{"properties":{"headline":{"anyOf":[{"type":"string","maxLength":160},{"type":"null"}],"title":"Headline"},"claims":{"items":{"$ref":"#/components/schemas/SlideClaim"},"type":"array","maxItems":8,"title":"Claims"},"recommendation":{"anyOf":[{"type":"string","maxLength":400},{"type":"null"}],"title":"Recommendation"},"trace_id":{"anyOf":[{"type":"string","maxLength":80},{"type":"null"}],"title":"Trace Id"}},"additionalProperties":false,"type":"object","title":"SlideCommentary","description":"AI commentary block attached to a slide."},"SlideSourceRef":{"properties":{"source":{"type":"string","title":"Source","description":"Underlying section, e.g. 'ar_aging'."},"path":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Path","description":"Optional dotted JSON path inside ``slide.data``, e.g. 'buckets.over_90.amount_cents'."},"label":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Label","description":"Human-readable badge label."}},"additionalProperties":false,"type":"object","required":["source"],"title":"SlideSourceRef","description":"A pointer back to the slide data that supports an AI claim.\n\nMirrors the looser :class:`app.ai.contracts.SourceRef` but constrained to\nreferences inside a single slide so the public/share viewer can render\ncitation badges without exposing internal lookup keys."},"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"}},"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"API Token","description":"API token authentication. Format: `Bearer dz_...`"}}},"security":[{"BearerAuth":[]}]}