{"openapi":"3.1.0","info":{"title":"OpenVibe.Design API","version":"0.1.0","description":"Public theme tokens and component specifications. The paths and methods are the routes this service mounts; the request and response bodies are on https://openvibe.design/developers."},"servers":[{"url":"https://openvibe.design"}],"externalDocs":{"url":"https://openvibe.design/developers"},"paths":{"/api/create":{"post":{"operationId":"postApiCreate","responses":{"default":{"description":"See https://openvibe.design/developers"}}}},"/api/create/designs/{id}/thumb.svg":{"get":{"operationId":"getApiCreateDesignsByIdThumbSvg","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"default":{"description":"See https://openvibe.design/developers"}}}},"/api/create/estimate":{"post":{"operationId":"postApiCreateEstimate","responses":{"default":{"description":"See https://openvibe.design/developers"}}}},"/api/create/options":{"get":{"operationId":"getApiCreateOptions","responses":{"default":{"description":"See https://openvibe.design/developers"}}}},"/api/create/recent":{"get":{"operationId":"getApiCreateRecent","responses":{"default":{"description":"See https://openvibe.design/developers"}}}},"/api/deep-dive/attach":{"post":{"operationId":"postApiDeepDiveAttach","summary":"attach a dive the person already ran (a report link or a run id)","responses":{"default":{"description":"See https://openvibe.design/developers"}}}},"/api/deep-dive/mine":{"get":{"operationId":"getApiDeepDiveMine","summary":"the person's dives, newest first","responses":{"default":{"description":"See https://openvibe.design/developers"}}}},"/api/deep-dive/options":{"get":{"operationId":"getApiDeepDiveOptions","summary":"the depths and their price, plus the person's finished dives to attach","responses":{"default":{"description":"See https://openvibe.design/developers"}}}},"/api/deep-dive/{id}":{"get":{"operationId":"getApiDeepDiveById","summary":"one dive (the owner only), its progress, points and proposals","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"default":{"description":"See https://openvibe.design/developers"}}}},"/api/deep-dive/{id}/cancel":{"post":{"operationId":"postApiDeepDiveByIdCancel","summary":"stop a dive that is still running","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"default":{"description":"See https://openvibe.design/developers"}}}},"/api/me/theme":{"get":{"operationId":"getApiMeTheme","summary":"Network GET /api/themes/me/active → { theme_id, theme, custom_variables }","responses":{"default":{"description":"See https://openvibe.design/developers"}}},"put":{"operationId":"putApiMeTheme","summary":"Network PUT /api/themes/me with source 'studio'","responses":{"default":{"description":"See https://openvibe.design/developers"}}}},"/api/me/theme/history":{"get":{"operationId":"getApiMeThemeHistory","summary":"Network GET /api/themes/me/history","responses":{"default":{"description":"See https://openvibe.design/developers"}}}},"/api/me/theme/history/{id}/restore":{"post":{"operationId":"postApiMeThemeHistoryByIdRestore","summary":"Network's restore (id a positive integer)","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"default":{"description":"See https://openvibe.design/developers"}}}},"/api/me/theme/overrides":{"get":{"operationId":"getApiMeThemeOverrides","summary":"Network GET /api/themes/me/overrides (a theme for one site)","responses":{"default":{"description":"See https://openvibe.design/developers"}}}},"/api/me/theme/overrides/{service}":{"put":{"operationId":"putApiMeThemeOverridesByService","parameters":[{"name":"service","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"default":{"description":"See https://openvibe.design/developers"}}},"delete":{"operationId":"deleteApiMeThemeOverridesByService","parameters":[{"name":"service","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"default":{"description":"See https://openvibe.design/developers"}}}},"/api/themes":{"get":{"operationId":"getApiThemes","summary":"public catalogue, cached in memory for 5 minutes","responses":{"default":{"description":"See https://openvibe.design/developers"}}}},"/api/themes/submit":{"post":{"operationId":"postApiThemesSubmit","summary":"Network POST /api/themes","responses":{"default":{"description":"See https://openvibe.design/developers"}}}},"/api/themes/{idOrSlug}":{"get":{"operationId":"getApiThemesByIdOrSlug","summary":"one public theme","parameters":[{"name":"idOrSlug","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"default":{"description":"See https://openvibe.design/developers"}}}},"/api/v1/arena/categories":{"get":{"operationId":"getApiV1ArenaCategories","responses":{"default":{"description":"See https://openvibe.design/developers"}}}},"/api/v1/arena/dataset":{"get":{"operationId":"getApiV1ArenaDataset","responses":{"default":{"description":"See https://openvibe.design/developers"}}}},"/api/v1/arena/dataset.jsonl":{"get":{"operationId":"getApiV1ArenaDatasetJsonl","responses":{"default":{"description":"See https://openvibe.design/developers"}}}},"/api/v1/arena/leaderboard":{"get":{"operationId":"getApiV1ArenaLeaderboard","responses":{"default":{"description":"See https://openvibe.design/developers"}}}},"/api/v1/arena/leaderboards":{"get":{"operationId":"getApiV1ArenaLeaderboards","responses":{"default":{"description":"See https://openvibe.design/developers"}}}},"/api/v1/arena/next":{"get":{"operationId":"getApiV1ArenaNext","responses":{"default":{"description":"See https://openvibe.design/developers"}}}},"/api/v1/arena/round/{id}":{"get":{"operationId":"getApiV1ArenaRoundById","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"default":{"description":"See https://openvibe.design/developers"}}}},"/api/v1/arena/rounds":{"post":{"operationId":"postApiV1ArenaRounds","responses":{"default":{"description":"See https://openvibe.design/developers"}}}},"/api/v1/arena/rounds/{id}":{"get":{"operationId":"getApiV1ArenaRoundsById","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"default":{"description":"See https://openvibe.design/developers"}}}},"/api/v1/arena/vote":{"get":{"operationId":"getApiV1ArenaVote","responses":{"default":{"description":"See https://openvibe.design/developers"}}},"post":{"operationId":"postApiV1ArenaVote","responses":{"default":{"description":"See https://openvibe.design/developers"}}}},"/api/v1/arena/vote/next":{"get":{"operationId":"getApiV1ArenaVoteNext","responses":{"default":{"description":"See https://openvibe.design/developers"}}}},"/api/v1/arena/votes":{"post":{"operationId":"postApiV1ArenaVotes","responses":{"default":{"description":"See https://openvibe.design/developers"}}}},"/api/v1/brand/picks":{"get":{"operationId":"getApiV1BrandPicks","summary":"{ tally, mine } what everyone picked so far, and this person's (or browser's) picks","responses":{"default":{"description":"See https://openvibe.design/developers"}}},"put":{"operationId":"putApiV1BrandPicks","summary":"{ picks: ['L03', 'P17', 'M09'] } → { tally, mine } replaces their picks","responses":{"default":{"description":"See https://openvibe.design/developers"}}}},"/api/v1/changes":{"get":{"operationId":"getApiV1Changes","responses":{"default":{"description":"See https://openvibe.design/developers"}}}},"/api/v1/components":{"get":{"operationId":"getApiV1Components","summary":"design.component@1 entries from the component registry","responses":{"default":{"description":"See https://openvibe.design/developers"}}}},"/api/v1/components/validate":{"post":{"operationId":"postApiV1ComponentsValidate","summary":"{ doc } → { ok, errors }: a kit document checked against it","responses":{"default":{"description":"See https://openvibe.design/developers"}}}},"/api/v1/components/{name}":{"get":{"operationId":"getApiV1ComponentsByName","summary":"one entry, with its default example's markup","parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"default":{"description":"See https://openvibe.design/developers"}}}},"/api/v1/designs":{"post":{"operationId":"postApiV1Designs","responses":{"default":{"description":"See https://openvibe.design/developers"}}}},"/api/v1/designs/{id}":{"get":{"operationId":"getApiV1DesignsById","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"default":{"description":"See https://openvibe.design/developers"}}}},"/api/v1/designs/{id}/click":{"post":{"operationId":"postApiV1DesignsByIdClick","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"default":{"description":"See https://openvibe.design/developers"}}}},"/api/v1/designs/{id}/edit":{"post":{"operationId":"postApiV1DesignsByIdEdit","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"default":{"description":"See https://openvibe.design/developers"}}}},"/api/v1/designs/{id}/element/channel":{"post":{"operationId":"postApiV1DesignsByIdElementChannel","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"default":{"description":"See https://openvibe.design/developers"}}}},"/api/v1/designs/{id}/element/gallery":{"post":{"operationId":"postApiV1DesignsByIdElementGallery","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"default":{"description":"See https://openvibe.design/developers"}}}},"/api/v1/designs/{id}/element/simulate":{"get":{"operationId":"getApiV1DesignsByIdElementSimulate","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"default":{"description":"See https://openvibe.design/developers"}}}},"/api/v1/designs/{id}/element/tweak":{"post":{"operationId":"postApiV1DesignsByIdElementTweak","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"default":{"description":"See https://openvibe.design/developers"}}}},"/api/v1/designs/{id}/pick":{"post":{"operationId":"postApiV1DesignsByIdPick","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"default":{"description":"See https://openvibe.design/developers"}}}},"/api/v1/designs/{id}/publish":{"post":{"operationId":"postApiV1DesignsByIdPublish","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"default":{"description":"See https://openvibe.design/developers"}}}},"/api/v1/designs/{id}/redo":{"post":{"operationId":"postApiV1DesignsByIdRedo","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"default":{"description":"See https://openvibe.design/developers"}}}},"/api/v1/designs/{id}/theme":{"post":{"operationId":"postApiV1DesignsByIdTheme","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"default":{"description":"See https://openvibe.design/developers"}}}},"/api/v1/designs/{id}/undo":{"post":{"operationId":"postApiV1DesignsByIdUndo","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"default":{"description":"See https://openvibe.design/developers"}}}},"/api/v1/designs/{id}/versions":{"get":{"operationId":"getApiV1DesignsByIdVersions","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"default":{"description":"See https://openvibe.design/developers"}}}},"/api/v1/fonts":{"get":{"operationId":"getApiV1Fonts","responses":{"default":{"description":"See https://openvibe.design/developers"}}}},"/api/v1/fonts/library":{"get":{"operationId":"getApiV1FontsLibrary","responses":{"default":{"description":"See https://openvibe.design/developers"}}}},"/api/v1/fonts/{family}":{"get":{"operationId":"getApiV1FontsByFamily","parameters":[{"name":"family","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"default":{"description":"See https://openvibe.design/developers"}}}},"/api/v1/gallery/listings":{"get":{"operationId":"getApiV1GalleryListings","responses":{"default":{"description":"See https://openvibe.design/developers"}}},"post":{"operationId":"postApiV1GalleryListings","responses":{"default":{"description":"See https://openvibe.design/developers"}}}},"/api/v1/gallery/listings/{id}":{"get":{"operationId":"getApiV1GalleryListingsById","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"default":{"description":"See https://openvibe.design/developers"}}}},"/api/v1/glyphs":{"get":{"operationId":"getApiV1Glyphs","responses":{"default":{"description":"See https://openvibe.design/developers"}}}},"/api/v1/glyphs/draft":{"post":{"operationId":"postApiV1GlyphsDraft","responses":{"default":{"description":"See https://openvibe.design/developers"}}}},"/api/v1/glyphs/drafts":{"post":{"operationId":"postApiV1GlyphsDrafts","responses":{"default":{"description":"See https://openvibe.design/developers"}}},"get":{"operationId":"getApiV1GlyphsDrafts","responses":{"default":{"description":"See https://openvibe.design/developers"}}}},"/api/v1/glyphs/migrate":{"post":{"operationId":"postApiV1GlyphsMigrate","responses":{"default":{"description":"See https://openvibe.design/developers"}}}},"/api/v1/glyphs/search":{"get":{"operationId":"getApiV1GlyphsSearch","responses":{"default":{"description":"See https://openvibe.design/developers"}}}},"/api/v1/glyphs/suggest":{"get":{"operationId":"getApiV1GlyphsSuggest","responses":{"default":{"description":"See https://openvibe.design/developers"}}}},"/api/v1/glyphs/{name}":{"get":{"operationId":"getApiV1GlyphsByName","parameters":[{"name":"name","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"default":{"description":"See https://openvibe.design/developers"}}}},"/api/v1/prompts":{"get":{"operationId":"getApiV1Prompts","responses":{"default":{"description":"See https://openvibe.design/developers"}}}},"/api/v1/rules":{"get":{"operationId":"getApiV1Rules","responses":{"default":{"description":"See https://openvibe.design/developers"}}}},"/api/v1/rules/proposals":{"get":{"operationId":"getApiV1RulesProposals","summary":"the proposed rules (owner only)","responses":{"default":{"description":"See https://openvibe.design/developers"}}}},"/api/v1/rules/proposals/{id}/{action}":{"post":{"operationId":"postApiV1RulesProposalsByIdByAction","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"action","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"default":{"description":"See https://openvibe.design/developers"}}}},"/api/v1/suggest":{"get":{"operationId":"getApiV1Suggest","responses":{"default":{"description":"See https://openvibe.design/developers"}}}},"/api/v1/tokens":{"get":{"operationId":"getApiV1Tokens","summary":"the export targets and the token names (OpenVibe Tokens)","responses":{"default":{"description":"See https://openvibe.design/developers"}}}},"/api/v1/tokens/{idOrSlug}":{"get":{"operationId":"getApiV1TokensByIdOrSlug","summary":"a theme as code: css, tailwind, compose, swiftui, flutter,","parameters":[{"name":"idOrSlug","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"default":{"description":"See https://openvibe.design/developers"}}}},"/api/v1/typefaces":{"post":{"operationId":"postApiV1Typefaces","responses":{"default":{"description":"See https://openvibe.design/developers"}}}},"/api/v1/typefaces/{id}":{"get":{"operationId":"getApiV1TypefacesById","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"default":{"description":"See https://openvibe.design/developers"}}}},"/api/v1/typefaces/{id}/font.otf":{"get":{"operationId":"getApiV1TypefacesByIdFontOtf","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"default":{"description":"See https://openvibe.design/developers"}}}},"/api/v1/typefaces/{id}/font.woff2":{"get":{"operationId":"getApiV1TypefacesByIdFontWoff2","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"default":{"description":"See https://openvibe.design/developers"}}}},"/api/v1/typefaces/{id}/glyph":{"post":{"operationId":"postApiV1TypefacesByIdGlyph","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"default":{"description":"See https://openvibe.design/developers"}}}},"/api/v1/vectors":{"post":{"operationId":"postApiV1Vectors","responses":{"default":{"description":"See https://openvibe.design/developers"}}}},"/api/v1/vectors/{id}":{"get":{"operationId":"getApiV1VectorsById","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"default":{"description":"See https://openvibe.design/developers"}}}},"/api/v1/vectors/{id}/edit":{"post":{"operationId":"postApiV1VectorsByIdEdit","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"default":{"description":"See https://openvibe.design/developers"}}}}}}