{"openapi":"3.1.0","info":{"title":"Revvify API","version":"1.0.0","description":"Versioned REST facade over Revvify's service layer, for native mobile clients."},"servers":[{"url":"https://revvify.io/api/v1"}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Access token from /auth/token."}}},"paths":{"/auth/token":{"post":{"summary":"Exchange email/password for an access + refresh token","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["email","password"],"properties":{"email":{"type":"string"},"password":{"type":"string"},"workspaceId":{"type":"string"}}}}}},"responses":{"200":{"description":"Token pair + workspace"},"401":{"description":"Invalid credentials"}}}},"/auth/refresh":{"post":{"summary":"Rotate a refresh token into a new access + refresh pair","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["refresh_token"],"properties":{"refresh_token":{"type":"string"}}}}}},"responses":{"200":{"description":"New token pair"},"401":{"description":"Invalid refresh token"}}}},"/auth/revoke":{"post":{"summary":"End a session on this device (sign out)","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["refresh_token"],"properties":{"refresh_token":{"type":"string"}}}}}},"responses":{"204":{"description":"Session ended, or was already gone"}}}},"/campaigns":{"post":{"summary":"Plan a campaign — arrives as drafts for approval","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["brandId","name","goal","channels"],"properties":{"brandId":{"type":"string"},"name":{"type":"string"},"goal":{"type":"string"},"productId":{"type":"string","nullable":true},"durationDays":{"type":"integer"},"channels":{"type":"array","items":{"type":"string"}},"keywords":{"type":"array","items":{"type":"string"}},"referenceLinks":{"type":"array","description":"Destinations with your own note about each. Pages are never fetched.","items":{"type":"object","required":["url"],"properties":{"url":{"type":"string"},"note":{"type":"string"}}}},"styleImageAssetIds":{"type":"array","description":"Your images, read for their visual style only.","items":{"type":"string"}},"audience":{"type":"string"},"media":{"type":"string","enum":["none","existing","generate"]}}}}}}}},"/brands":{"get":{"summary":"List brands in the workspace","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized"}}}},"/calendar":{"get":{"summary":"Posts in a date range","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized"}},"parameters":[{"name":"brandId","in":"query","required":false,"schema":{"type":"string"}},{"name":"from","in":"query","schema":{"type":"string","format":"date-time"}},{"name":"to","in":"query","schema":{"type":"string","format":"date-time"}}]}},"/posts":{"get":{"summary":"List posts","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized"}},"parameters":[{"name":"brandId","in":"query","required":false,"schema":{"type":"string"}}]},"post":{"summary":"Create a draft post","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["brandId","variants"],"properties":{"brandId":{"type":"string"},"variants":{"type":"object"},"scheduledAt":{"type":"string","format":"date-time"}}}}}}}},"/posts/{id}":{"patch":{"summary":"Update a post","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]},"delete":{"summary":"Delete a post","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/posts/{id}/approve":{"post":{"summary":"Approve a post","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/posts/{id}/reject":{"post":{"summary":"Reject a post","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/posts/{id}/submit":{"post":{"summary":"Submit a post for approval","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/posts/{id}/schedule":{"post":{"summary":"Schedule a post to channels","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/posts/{id}/publish":{"post":{"summary":"Publish a post now","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/approvals":{"get":{"summary":"Posts awaiting approval","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized"}}}},"/radar":{"get":{"summary":"Radar feed for a brand","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized"}},"parameters":[{"name":"brandId","in":"query","required":true,"schema":{"type":"string"}}]}},"/radar/{id}/dismiss":{"post":{"summary":"Dismiss a Radar item","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/radar/{id}/draft":{"post":{"summary":"Draft a post from a Radar item","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/media/upload":{"post":{"summary":"Get a presigned upload URL","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized"}}}},"/media/finalize":{"post":{"summary":"Register an uploaded object as a media asset","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized"}}}},"/engagement":{"get":{"summary":"Social-listening engagement feed","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized"}},"parameters":[{"name":"brandId","in":"query","required":true,"schema":{"type":"string"}}]}},"/engagement/{id}/reply":{"post":{"summary":"Draft a reply for an opportunity","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/engagement/{id}/status":{"post":{"summary":"Set opportunity status","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/leads":{"get":{"summary":"Lead inbox","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized"}},"parameters":[{"name":"brandId","in":"query","required":true,"schema":{"type":"string"}},{"name":"status","in":"query","schema":{"type":"string"}}]}},"/leads/{id}/reply":{"post":{"summary":"Draft an AI reply for a lead","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/leads/{id}/status":{"post":{"summary":"Set lead status","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/analytics/summary":{"get":{"summary":"Goal-aware KPI summary","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized"}},"parameters":[{"name":"brandId","in":"query","required":true,"schema":{"type":"string"}},{"name":"range","in":"query","schema":{"type":"string","enum":["7d","30d","90d"]}}]}},"/channels":{"get":{"summary":"Channel health list","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized"}},"parameters":[{"name":"brandId","in":"query","required":false,"schema":{"type":"string"}}]}},"/devices":{"get":{"summary":"List registered devices","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized"}}},"post":{"summary":"Register/rotate a push device","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["platform","pushToken"],"properties":{"platform":{"type":"string","enum":["ios","android","web"]},"pushToken":{"type":"string"},"name":{"type":"string"}}}}}}}},"/devices/{id}":{"delete":{"summary":"Revoke a device","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/notifications":{"get":{"summary":"In-app notification inbox + unread count","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized"}}},"post":{"summary":"Mark notifications read (all, or one by id in the body)","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized"}}}},"/notifications/preferences":{"get":{"summary":"Get notification preferences","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized"}}},"put":{"summary":"Replace notification preferences","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized"}}}},"/capabilities":{"get":{"summary":"Capability manifest for the calling token","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized"}}}},"/outgoing":{"get":{"summary":"Everything going out — one item per post/newsletter, with per-channel statuses","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized"}},"parameters":[{"name":"brandId","in":"query","required":false,"schema":{"type":"string"}},{"name":"scope","in":"query","schema":{"type":"string","enum":["brand","all"]}},{"name":"lane","in":"query","schema":{"type":"string"}},{"name":"channelId","in":"query","schema":{"type":"string"}},{"name":"productId","in":"query","schema":{"type":"string"}},{"name":"source","in":"query","schema":{"type":"string","enum":["loop","campaign","manual"]}},{"name":"from","in":"query","schema":{"type":"string","format":"date-time"}},{"name":"to","in":"query","schema":{"type":"string","format":"date-time"}},{"name":"q","in":"query","schema":{"type":"string"}},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":300}}]}},"/outgoing/lanes":{"get":{"summary":"Item counts per status lane, across the whole set","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized"}},"parameters":[{"name":"brandId","in":"query","required":false,"schema":{"type":"string"}},{"name":"scope","in":"query","schema":{"type":"string","enum":["brand","all"]}}]}},"/outgoing/reschedule":{"patch":{"summary":"Move a post or newsletter to another time","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["type","id","scheduledAt"],"properties":{"type":{"type":"string","enum":["post","email"]},"id":{"type":"string"},"scheduledAt":{"type":"string","format":"date-time"}}}}}}}},"/outgoing/duplicate":{"post":{"summary":"Copy a post to another network as a new draft","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["postId","network"],"properties":{"postId":{"type":"string"},"network":{"type":"string"}}}}}}}},"/products":{"post":{"summary":"Create a product under a brand","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["brandId","name"],"properties":{"brandId":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"url":{"type":"string"},"imageUrl":{"type":"string"}}}}}}}},"/products/{id}":{"get":{"summary":"One product with its source material and active brief","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]},"patch":{"summary":"Update a product","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]},"delete":{"summary":"Delete a product","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/products/{id}/inputs":{"post":{"summary":"Add source material the brief compiles from","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/products/{id}/inputs/{inputId}":{"put":{"summary":"Replace one piece of source material","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"inputId","in":"path","required":true,"schema":{"type":"string"}}]},"delete":{"summary":"Remove one piece of source material","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"inputId","in":"path","required":true,"schema":{"type":"string"}}]}},"/products/{id}/brief":{"get":{"summary":"Brief health and version history (read-only — recompiling is a server job)","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/products/{id}/mode":{"get":{"summary":"How this product is run. Never gates anything.","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]},"put":{"summary":"Set how this product is run","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/media/estimate":{"post":{"summary":"What a generation will cost, before it runs","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["kind"],"properties":{"kind":{"type":"string","enum":["image","video","music"]},"durationSeconds":{"type":"integer","minimum":1,"maximum":60},"reelSeconds":{"type":"integer","minimum":1,"maximum":90,"description":"music only — the bed is capped at the model's max and looped to fill"},"wantsAudio":{"type":"boolean"},"modelKey":{"type":"string"}}}}}}}},"/media/generate":{"post":{"summary":"Start a generation. Returns a job, never an asset.","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["kind","brandId","settings"],"properties":{"kind":{"type":"string","enum":["image","video","music"]},"brandId":{"type":"string"},"settings":{"type":"object","description":"image and video only"},"prompt":{"type":"string","description":"music only"},"reelSeconds":{"type":"integer","description":"music only"},"styleProfileId":{"type":"string","nullable":true},"folderId":{"type":"string","nullable":true},"acknowledgedCredits":{"type":"integer","minimum":0}}}}}}}},"/media/video/{jobId}":{"get":{"summary":"Video preview status. `persisted` is always false here.","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized"}},"parameters":[{"name":"jobId","in":"path","required":true,"schema":{"type":"string"}}]}},"/media/music/accept":{"post":{"summary":"Keep a generated music bed — the only path from a track to a MediaAsset","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized"}}}},"/media/music/discard":{"post":{"summary":"Throw a generated music bed away","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized"}}}},"/media/video/accept":{"post":{"summary":"Keep a video preview — the only path from a clip to a MediaAsset","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized"}}}},"/media/video/discard":{"post":{"summary":"Throw a video preview away","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized"}}}},"/budgets":{"get":{"summary":"AI spend pool, per-loop split and month-end projection","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized"}},"parameters":[{"name":"brandId","in":"query","required":true,"schema":{"type":"string"}}]}},"/reels":{"get":{"summary":"List reel drafts for a brand","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized"}},"parameters":[{"name":"brandId","in":"query","required":true,"schema":{"type":"string"}}]},"post":{"summary":"Save a cut. Idempotent on the plan hash — the same edit returns the same draft.","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["brandId","plan"],"properties":{"brandId":{"type":"string"},"title":{"type":"string"},"delivery":{"type":"string","enum":["AUTO_PUBLISH","FINISH_IN_APP"]},"plan":{"type":"object","description":"Edit decision list. Clips reference MediaAsset ids in this workspace — never URLs.","required":["version","clips","audio"],"properties":{"version":{"type":"integer","enum":[1]},"clips":{"type":"array","items":{"type":"object","required":["assetId","startSeconds","endSeconds"],"properties":{"assetId":{"type":"string"},"startSeconds":{"type":"number"},"endSeconds":{"type":"number"}}}},"audio":{"type":"object"},"captions":{"type":"array","items":{"type":"object"}}}}}}}}}}},"/reels/{id}":{"get":{"summary":"One reel draft, its render status and its output","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/reels/{id}/render":{"post":{"summary":"Start the cut. Costs no credits — it is the workspace's own footage.","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized"}},"parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}]}},"/autopilot":{"get":{"summary":"What switching automations on would do and cost","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized"}},"parameters":[{"name":"brandId","in":"query","required":true,"schema":{"type":"string"}},{"name":"goal","in":"query","required":true,"schema":{"type":"string"}}]},"post":{"summary":"Switch automations on","security":[{"bearerAuth":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Unauthorized"}}}}}}