{"openapi":"3.1.0","info":{"title":"MintFlow Public Agent API","version":"1.0.0","description":"Read-only discovery and URL preparation for Mint to your wallet and MintFlow-hosted sales. This API does not connect wallets, sign transactions, spend funds, mint tokens, list assets, charge cards, take custody, broadcast, or commit. Open the returned URL so the user can review the launch and explicitly approve the selected path.","x-versioning-policy":"Stable operations use /api/v1. Breaking changes use a new /api/vN path; deprecated aliases publish Deprecation, Sunset, and Link headers before removal."},"servers":[{"url":"https://mintflow.me","description":"MintFlow production"}],"tags":[{"name":"Agent safe","description":"Side-effect-free endpoints suitable for agents and cross-origin web clients."}],"paths":{"/api/v1":{"get":{"operationId":"getMintFlowCapabilities","summary":"Discover MintFlow capabilities","description":"Returns public endpoints, BRC-100 wallet boundary, and safety guarantees.","tags":["Agent safe"],"responses":{"200":{"description":"MintFlow capability document","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Capabilities"}}}}}}},"/collections/prism-pass.json":{"get":{"operationId":"getPrismPassManifest","summary":"Read the Prism Pass launch manifest","description":"Returns the reproducible legacy metadata, artwork source, canonical canary requirements, and time-stamped reviewed listing-price policy. It has no wallet or blockchain side effects.","tags":["Agent safe"],"responses":{"200":{"description":"Prism Pass launch manifest","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/api/v1/collections/{collectionId}":{"get":{"operationId":"getCollectionSale","summary":"Read a collection and its verified listings","description":"Reads the 1Sat index and global OrdLock orderbook. Optional known item outpoints make a newly indexed collection shareable before member discovery catches up.","tags":["Agent safe"],"parameters":[{"name":"collectionId","in":"path","required":true,"schema":{"type":"string","pattern":"^[0-9a-fA-F]{64}[._]\\d+$"}},{"name":"items","in":"query","required":false,"description":"Up to 100 comma-separated collection item outpoints.","schema":{"type":"string","maxLength":7000}}],"responses":{"200":{"description":"Indexed collection, verified members, and active listings","content":{"application/json":{"schema":{"type":"object"}}}},"404":{"description":"Collection has not reached the 1Sat index","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/api/v1/mint/prepare":{"post":{"operationId":"prepareMintLaunch","summary":"Prepare a prefilled collection wizard URL","description":"Validates collection configuration and returns a URL for Mint to your wallet or MintFlow-hosted sales. It has no wallet, payment, custody, or blockchain side effects. The agent should open the URL so the user can edit every field and explicitly approve wallet actions or the hosted Stripe payment.","tags":["Agent safe"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MintLaunchInput"},"examples":{"prismPass":{"summary":"Prepare a Prism Pass collection","value":{"collectionName":"Prism Pass","description":"A limited 1Sat Ordinals membership collection.","totalQuantity":100,"hostingOption":"self","tierItemCounts":{"tier_free":0,"tier_pro":1},"canaryTierId":"tier_pro","listingPriceSatoshis":1000}}}}}},"responses":{"200":{"description":"A prefilled launch URL; no wallet or chain action has occurred","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PreparedMintLaunch"}}}},"400":{"description":"Malformed JSON","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"413":{"description":"Configuration is too large for a launch URL","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"415":{"description":"Content-Type is not application/json","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"422":{"description":"Configuration failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}},"components":{"schemas":{"Capabilities":{"type":"object","required":["name","version","description","documentation","agentInstructions","openapi","capabilities","wallet","safety"],"properties":{"name":{"type":"string"},"version":{"type":"string"},"description":{"type":"string"},"documentation":{"type":"string","format":"uri"},"agentInstructions":{"type":"string","format":"uri"},"openapi":{"type":"string","format":"uri"},"capabilities":{"type":"array","items":{"type":"object"}},"wallet":{"type":"object"},"webmcp":{"type":"object"},"safety":{"type":"object"}}},"MintLaunchInput":{"type":"object","additionalProperties":false,"required":["collectionName"],"properties":{"version":{"type":"integer","const":1,"default":1},"collectionName":{"type":"string","minLength":1,"maxLength":120},"description":{"type":"string","maxLength":4000},"collectionImage":{"anyOf":[{"type":"string","format":"uri","maxLength":2048},{"type":"null"}]},"totalQuantity":{"type":"integer","minimum":1,"maximum":1000000},"royaltyPercentage":{"type":"string","pattern":"^(?:[0-6](?:\\.\\d+)?|7(?:\\.0+)?)$"},"royaltyAddress":{"type":"string","minLength":1,"maxLength":200},"hostingOption":{"type":"string","enum":["self","hosted"],"description":"Use self to mint directly to the creator's BRC-100 wallet. When hosted sales are available, use hosted for a $10 setup with hosted on-chain setup costs included; after Sigma sign-in and explicit Stripe payment, MintFlow provisions the collection, sale inventory, storefront, and delivery workflow. This field only prefills the choice, and unavailable hosted preferences are normalized to self."},"tiers":{"type":"array","maxItems":50,"items":{"$ref":"#/components/schemas/Tier"}},"traits":{"type":"array","maxItems":50,"items":{"$ref":"#/components/schemas/Trait"}},"tierItemCounts":{"type":"object","description":"Exact member counts keyed by tier id. Zero skips a tier during a canary run.","additionalProperties":{"type":"integer","minimum":0,"maximum":1000000}},"canaryTierId":{"type":"string","minLength":1,"maxLength":100},"listingPriceSatoshis":{"type":"integer","minimum":1,"maximum":2100000000000000,"description":"OrdLock listing price for the canary member, in satoshis."}}},"Tier":{"type":"object","additionalProperties":false,"required":["name","percentage"],"properties":{"id":{"type":"string","minLength":1,"maxLength":100},"name":{"type":"string","minLength":1,"maxLength":120},"percentage":{"type":"number","minimum":0,"maximum":100},"price":{"type":"number","minimum":0,"maximum":21000000},"features":{"type":"array","maxItems":20,"items":{"type":"string","minLength":1,"maxLength":240}},"image":{"anyOf":[{"type":"string","format":"uri","maxLength":2048},{"type":"null"}]}}},"Trait":{"type":"object","additionalProperties":false,"required":["name","values"],"properties":{"id":{"type":"string","minLength":1,"maxLength":100},"name":{"type":"string","minLength":1,"maxLength":120},"values":{"type":"array","minItems":1,"maxItems":100,"items":{"$ref":"#/components/schemas/TraitValue"}}}},"TraitValue":{"type":"object","additionalProperties":false,"required":["value","percentage"],"properties":{"id":{"type":"string","minLength":1,"maxLength":100},"value":{"type":"string","minLength":1,"maxLength":120},"percentage":{"oneOf":[{"type":"number","minimum":0,"maximum":100},{"type":"string","pattern":"^\\d{1,3}(?:\\.\\d+)?$"}]}}},"PreparedMintLaunch":{"type":"object","required":["ok","action","launchUrl","effects","next"],"properties":{"ok":{"type":"boolean","const":true},"action":{"type":"string","const":"prepare_mint_launch"},"launchUrl":{"type":"string","format":"uri"},"expiresAt":{"type":"null"},"effects":{"type":"object","required":["signing","broadcasting","walletConnection","charging"],"properties":{"signing":{"type":"boolean","const":false},"broadcasting":{"type":"boolean","const":false},"walletConnection":{"type":"boolean","const":false},"charging":{"type":"boolean","const":false}}},"next":{"type":"object","required":["instruction","requiresUserReview","requiresBrc100Wallet","requiresStripePayment"],"properties":{"instruction":{"type":"string"},"requiresUserReview":{"type":"boolean","const":true},"requiresBrc100Wallet":{"type":"boolean"},"requiresStripePayment":{"type":"boolean"}}}}},"Error":{"type":"object","required":["ok","error"],"properties":{"ok":{"type":"boolean","const":false},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"resolution":{"type":"string"},"details":{}}}}}}}}