{"ok":true,"apiVersion":"v1","app":{"id":"marketplace","name":"Marketplace","version":"0.1.0"},"timestamp":"2026-07-29T12:17:59.593Z","data":{"title":"Marketplace API","description":"Digital asset marketplace API for creating, listing, selling, and analyzing digital assets.","baseUrl":"https://fjozfegsxseblmpplcrb.supabase.co/functions/v1/api-v1","namespace":"marketplace","docsUrl":null,"openApiUrl":"https://fjozfegsxseblmpplcrb.supabase.co/functions/v1/api-v1/openapi.json","healthUrl":"https://fjozfegsxseblmpplcrb.supabase.co/functions/v1/api-v1/health","auth":{"type":"api_key","header":"X-Api-Key","bearerSupported":true,"keyPrefix":"mk_live_"},"capabilities":[{"id":"health_check","name":"Health check","description":"Quick health check confirming the API is alive.","method":"GET","path":"/api/v1/health","parameters":[]},{"id":"get_manifest","name":"Get manifest","description":"Machine-readable discovery document for apps and AI agents.","method":"GET","path":"/api/v1/manifest","parameters":[]},{"id":"get_openapi","name":"Get OpenAPI spec","description":"Formal OpenAPI 3.1.0 specification for all public routes.","method":"GET","path":"/api/v1/openapi.json","parameters":[]},{"id":"list_assets","name":"List assets","description":"Returns paginated published assets with filtering and sorting.","method":"GET","path":"/api/v1/assets","parameters":[{"name":"limit","in":"query","type":"integer","required":false,"description":"Max items to return (1-100). Omit to use default of 25.","default":25},{"name":"cursor","in":"query","type":"string","required":false,"description":"Pagination cursor (UUID of last item). Omit if fetching the first page."},{"name":"category","in":"query","type":"string","required":false,"enum":["prompt_pack","skill_pack","harness_pack"],"description":"Filter by asset category. Omit to return all categories."},{"name":"status","in":"query","type":"string","required":false,"enum":["draft","published","archived"],"default":"published","description":"Filter by asset status. Omit to default to 'published'."},{"name":"tag","in":"query","type":"string","required":false,"description":"Filter by tag (exact match). Omit to skip tag filtering."},{"name":"sort","in":"query","type":"string","required":false,"enum":["created_at","updated_at","title","price"],"default":"created_at","description":"Sort field. Omit to sort by created_at."},{"name":"order","in":"query","type":"string","required":false,"enum":["asc","desc"],"default":"desc","description":"Sort direction. Omit to default to descending."}]},{"id":"get_asset","name":"Get asset","description":"Returns a single asset by ID.","method":"GET","path":"/api/v1/assets/:id","parameters":[{"name":"id","in":"path","type":"string","format":"uuid","required":true,"description":"Asset UUID"}]},{"id":"create_asset","name":"Create asset","description":"Creates a new digital asset in draft status.","method":"POST","path":"/api/v1/assets","parameters":[{"name":"title","in":"body","type":"string","required":true,"description":"Asset title (1-200 chars)"},{"name":"slug","in":"body","type":"string","required":true,"description":"URL-safe slug (1-200 chars, must be unique)"},{"name":"price","in":"body","type":"integer","required":true,"description":"Price in cents (e.g. 999 = $9.99). Minimum 0."},{"name":"category","in":"body","type":"string","required":false,"enum":["prompt_pack","skill_pack","harness_pack"],"default":"prompt_pack","description":"Asset category. Omit to default to 'prompt_pack'."},{"name":"short_description","in":"body","type":"string","required":false,"description":"Brief description (max 500 chars). Omit to leave empty."},{"name":"full_description","in":"body","type":"string","required":false,"description":"Full description (max 5000 chars). Omit to leave empty."},{"name":"tags","in":"body","type":"array","items":"string","required":false,"description":"Array of string tags. Omit to leave empty."},{"name":"audience","in":"body","type":"string","required":false,"description":"Target audience description. Omit to leave empty."},{"name":"fulfillment_type","in":"body","type":"string","required":false,"enum":["downloadable_file","downloadable_json","downloadable_csv","private_asset_page","package_export","manual"],"default":"downloadable_file","description":"How the asset is delivered. Omit to default to 'downloadable_file'."},{"name":"payload","in":"body","type":"object","required":false,"description":"Arbitrary JSON payload for the asset content. Omit to leave empty."},{"name":"metadata","in":"body","type":"object","required":false,"description":"Arbitrary JSON metadata. Omit to leave empty."},{"name":"preview_image_url","in":"body","type":"string","required":false,"description":"URL to a preview image. Omit to leave empty."}]},{"id":"update_asset","name":"Update asset","description":"Updates an existing asset you own.","method":"PATCH","path":"/api/v1/assets/:id","parameters":[{"name":"id","in":"path","type":"string","format":"uuid","required":true,"description":"Asset UUID"},{"name":"title","in":"body","type":"string","required":false,"description":"Updated title. Omit to keep current value."},{"name":"slug","in":"body","type":"string","required":false,"description":"Updated slug. Omit to keep current value."},{"name":"price","in":"body","type":"integer","required":false,"description":"Updated price in cents. Omit to keep current value."},{"name":"status","in":"body","type":"string","required":false,"enum":["draft","published","archived"],"description":"Asset status. Omit to keep current value."},{"name":"category","in":"body","type":"string","required":false,"enum":["prompt_pack","skill_pack","harness_pack"],"description":"Asset category. Omit to keep current value."},{"name":"fulfillment_type","in":"body","type":"string","required":false,"enum":["downloadable_file","downloadable_json","downloadable_csv","private_asset_page","package_export","manual"],"description":"Fulfillment type. Omit to keep current value."},{"name":"short_description","in":"body","type":"string","required":false,"description":"Brief description. Omit to keep current value."},{"name":"full_description","in":"body","type":"string","required":false,"description":"Full description. Omit to keep current value."},{"name":"tags","in":"body","type":"array","items":"string","required":false,"description":"Array of string tags. Omit to keep current value."},{"name":"audience","in":"body","type":"string","required":false,"description":"Target audience. Omit to keep current value."},{"name":"payload","in":"body","type":"object","required":false,"description":"Arbitrary JSON payload. Omit to keep current value."},{"name":"metadata","in":"body","type":"object","required":false,"description":"Arbitrary JSON metadata. Omit to keep current value."},{"name":"preview_image_url","in":"body","type":"string","required":false,"description":"Preview image URL. Omit to keep current value."}]},{"id":"list_listings","name":"List listings","description":"Returns paginated published marketplace listings.","method":"GET","path":"/api/v1/listings","parameters":[{"name":"limit","in":"query","type":"integer","required":false,"default":25,"description":"Max items (1-100). Omit to default to 25."},{"name":"cursor","in":"query","type":"string","required":false,"description":"Pagination cursor (UUID). Omit if fetching the first page."},{"name":"featured","in":"query","type":"string","required":false,"enum":["true","false"],"description":"Filter by featured status. Omit to return all."}]},{"id":"get_listing","name":"Get listing","description":"Returns a single listing by slug with its asset.","method":"GET","path":"/api/v1/listings/:slug","parameters":[{"name":"slug","in":"path","type":"string","required":true,"description":"Listing slug"}]},{"id":"list_orders","name":"List orders","description":"Returns paginated orders for the authenticated user.","method":"GET","path":"/api/v1/orders","parameters":[{"name":"limit","in":"query","type":"integer","required":false,"default":25,"description":"Max items (1-100). Omit to default to 25."},{"name":"cursor","in":"query","type":"string","required":false,"description":"Pagination cursor (created_at ISO timestamp). Omit if fetching the first page."},{"name":"status","in":"query","type":"string","required":false,"enum":["pending","paid","refunded"],"description":"Filter by order status. Omit to return all statuses."}]},{"id":"get_order","name":"Get order","description":"Returns a single order by ID.","method":"GET","path":"/api/v1/orders/:id","parameters":[{"name":"id","in":"path","type":"string","format":"uuid","required":true,"description":"Order UUID"}]},{"id":"create_checkout","name":"Create checkout","description":"Creates a Stripe checkout session for a published asset.","method":"POST","path":"/api/v1/checkout","parameters":[{"name":"asset_id","in":"body","type":"string","format":"uuid","required":true,"description":"UUID of the published asset to purchase"}]},{"id":"get_analytics","name":"Get analytics","description":"Returns full marketplace analytics: totals and per-asset breakdowns of purchases, revenue, and pending orders.","method":"GET","path":"/api/v1/analytics","parameters":[]},{"id":"list_purchases","name":"List purchases","description":"Returns paginated list of the authenticated user's purchased assets with asset metadata.","method":"GET","path":"/api/v1/purchases","parameters":[{"name":"limit","in":"query","type":"integer","required":false,"default":25,"description":"Max items (1-100). Omit to default to 25."},{"name":"cursor","in":"query","type":"string","required":false,"description":"Pagination cursor (UUID). Omit if fetching the first page."}]},{"id":"get_purchase","name":"Get purchase","description":"Returns a single purchase by ID with full asset and order details.","method":"GET","path":"/api/v1/purchases/:id","parameters":[{"name":"id","in":"path","type":"string","format":"uuid","required":true,"description":"Purchase UUID"}]},{"id":"get_purchase_download","name":"Get purchase download","description":"Returns a download URL or payload for a purchased asset.","method":"GET","path":"/api/v1/purchases/:id/download","parameters":[{"name":"id","in":"path","type":"string","format":"uuid","required":true,"description":"Purchase UUID"}]},{"id":"export_asset_zip","name":"Export asset as ZIP","description":"Builds a human-readable ZIP archive for an asset the caller owns, purchased, or created. Returns a short-lived signed download URL. Requires purchases:read or assets:read scope.","method":"POST","path":"/api/v1/assets/:id/export-zip","parameters":[{"name":"id","in":"path","type":"string","format":"uuid","required":true,"description":"Asset UUID"}]},{"id":"submit_feedback","name":"Submit feedback","description":"Submit a structured bug report, feature request, improvement request, support request, or app-to-app integration request.","method":"POST","path":"/api/v1/feedback","parameters":[{"name":"title","in":"body","type":"string","required":true,"description":"Feedback title (max 200 chars)"},{"name":"message","in":"body","type":"string","required":true,"description":"Feedback message (max 5000 chars)"},{"name":"category","in":"body","type":"string","required":true,"enum":["bug","feature_request","improvement","integration_request","support","other"],"description":"Feedback category"},{"name":"severity","in":"body","type":"string","required":true,"enum":["low","medium","high","critical"],"description":"Severity level"},{"name":"source","in":"body","type":"object","required":true,"description":"Source info: { type: 'user'|'app'|'agent'|'external', appId?: string, userId?: string }"},{"name":"target","in":"body","type":"object","required":false,"description":"Optional target: { appId?: string, capabilityId?: string, path?: string }. Omit if not targeting a specific capability."},{"name":"context","in":"body","type":"object","required":false,"description":"Optional context: { requestId?: string, environment?: string, url?: string, metadata?: object }. Omit if no context needed."}]}],"defaultHeaders":{"Content-Type":"application/json"},"versioning":{"current":"v1","supported":["v1"],"deprecated":[]}}}