{"openapi":"3.1.0","info":{"title":"Broadcast Distribution API","version":"0.1.0","description":"Free, SSRF-safe preflight for validating an x402 API origin and its eligibility across supported distribution targets. Private preview; paid publication jobs are not yet implemented."},"servers":[{"url":"https://broadcast.melchiorlabs.com"}],"paths":{"/v1/distribution/preflight":{"post":{"operationId":"createDistributionPreflight","summary":"Inspect an x402 API origin and return eligibility, evidence, and an ownership proof.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"origin":{"type":"string","minLength":1},"targets":{"minItems":1,"maxItems":6,"type":"array","items":{"type":"string","enum":["x402-list","x402scan","agent-tools","agent402-index","402.ad","bazaar"]}},"overrides":{"type":"object","properties":{"name":{"type":"string","minLength":1,"maxLength":200},"description":{"type":"string","minLength":20,"maxLength":500},"websiteUrl":{"type":"string"},"category":{"type":"string","minLength":1,"maxLength":100}},"additionalProperties":false}},"required":["origin","targets"],"additionalProperties":false}}}},"responses":{"200":{"description":"Preflight created.","content":{"application/json":{"schema":{"type":"object","properties":{"preflightId":{"type":"string"},"createdAt":{"type":"string","format":"date-time"},"expiresAt":{"type":"string","format":"date-time"},"origin":{"type":"string"},"normalizedListing":{"type":"object","properties":{"origin":{"type":"string"},"name":{"type":"string"},"description":{"type":"string"},"websiteUrl":{"type":"string"},"category":{"type":"string"},"endpointCount":{"type":"number"}},"required":["origin","name","description","endpointCount"]},"listingDigest":{"type":"string"},"discoveredUrls":{"type":"array","items":{"type":"string"}},"sourceDigest":{"type":"string"},"endpoints":{"type":"array","items":{"type":"object","properties":{"method":{"type":"string","enum":["GET","POST"]},"pathTemplate":{"type":"string"},"url":{"type":"string"},"operationId":{"type":"string"},"summary":{"type":"string"},"description":{"type":"string"},"exampleBodyUsed":{"type":"string"},"x402Version":{"type":"number","enum":[1,2]},"accepts":{"type":"array","items":{"type":"object","properties":{"scheme":{"type":"string"},"network":{"type":"string"},"asset":{"type":"string"},"payTo":{"type":"string"},"maxTimeoutSeconds":{"type":"number"},"amount":{"type":"string"}},"required":["scheme","network","asset","payTo","maxTimeoutSeconds","amount"]}},"bazaarRouteTemplate":{"type":"string"},"bazaarRouteTemplateValid":{"type":"boolean"},"bazaarRouteTemplateReason":{"type":"string"}},"required":["method","pathTemplate","url","x402Version","accepts","bazaarRouteTemplateValid"]}},"sourceInconsistencies":{"type":"array","items":{"type":"object","properties":{"endpoint":{"type":"string"},"reason":{"type":"string"}},"required":["endpoint","reason"]}},"targetEligibility":{"type":"array","items":{"type":"object","properties":{"target":{"type":"string","enum":["x402-list","x402scan","agent-tools","agent402-index","402.ad","bazaar"]},"eligible":{"type":"boolean"},"mode":{"type":"string","enum":["submit","monitor","action_required","excluded"]},"missing":{"type":"array","items":{"type":"string"}},"reasons":{"type":"array","items":{"type":"string"}}},"required":["target","eligible","mode","missing","reasons"]}},"ownershipProof":{"type":"object","properties":{"version":{"type":"number","enum":[1]},"preflightId":{"type":"string"},"origin":{"type":"string"},"listingDigest":{"type":"string"},"nonce":{"type":"string"},"authorizedTargets":{"type":"array","items":{"type":"string"}},"expiresAt":{"type":"string","format":"date-time"}},"required":["version","preflightId","origin","listingDigest","nonce","authorizedTargets","expiresAt"]},"x402scanChallenge":{"type":"null"}},"required":["preflightId","createdAt","expiresAt","origin","normalizedListing","listingDigest","discoveredUrls","sourceDigest","endpoints","sourceInconsistencies","targetEligibility","ownershipProof"]}}}},"400":{"description":"Invalid input or unsafe origin.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["invalid_input","unsafe_origin","source_inconsistent","no_payable_resources","rate_limited","source_unreachable"]},"message":{"type":"string"},"details":{}},"required":["code","message"]}},"required":["error"]}}}},"409":{"description":"Source inconsistency detected.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["invalid_input","unsafe_origin","source_inconsistent","no_payable_resources","rate_limited","source_unreachable"]},"message":{"type":"string"},"details":{}},"required":["code","message"]}},"required":["error"]}}}},"422":{"description":"No payable resources discovered.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["invalid_input","unsafe_origin","source_inconsistent","no_payable_resources","rate_limited","source_unreachable"]},"message":{"type":"string"},"details":{}},"required":["code","message"]}},"required":["error"]}}}},"429":{"description":"Rate limited.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["invalid_input","unsafe_origin","source_inconsistent","no_payable_resources","rate_limited","source_unreachable"]},"message":{"type":"string"},"details":{}},"required":["code","message"]}},"required":["error"]}}}},"502":{"description":"Origin unreachable.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["invalid_input","unsafe_origin","source_inconsistent","no_payable_resources","rate_limited","source_unreachable"]},"message":{"type":"string"},"details":{}},"required":["code","message"]}},"required":["error"]}}}}}}},"/health":{"get":{"operationId":"getHealth","summary":"Service health, migration state, and queue depth.","responses":{"200":{"description":"Healthy.","content":{"application/json":{"schema":{"type":"object"}}}}}}}}}