{"openapi":"3.1.0","info":{"title":"Pushing Squares Public API","version":"1.0.0","description":"Public form, signup, and paid endpoints exposed by pushingsquares.com."},"x-service-info":{"categories":["digital-products"],"docs":{"homepage":"https://pushingsquares.com","apiReference":"https://pushingsquares.com/openapi.json","llms":"https://pushingsquares.com/llms.txt"}},"servers":[{"url":"https://pushingsquares.com"}],"paths":{"/api/contact":{"post":{"operationId":"submitContactRequest","summary":"Submit a contact request","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["name","email","subject","body"],"properties":{"name":{"type":"string","minLength":1},"email":{"type":"string","format":"email"},"subject":{"type":"string","minLength":1},"body":{"type":"string","minLength":1}},"additionalProperties":false}}}},"responses":{"200":{"description":"The contact request was accepted.","content":{"application/json":{"schema":{"type":"object","required":["ok"],"properties":{"ok":{"const":true}},"additionalProperties":false}}}},"400":{"description":"The request failed validation.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string"}},"additionalProperties":false}}}},"500":{"description":"The service couldn't complete the request.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}}},"/api/scan":{"post":{"operationId":"submitQualmScan","summary":"Submit a public scan request or homepage waitlist signup","requestBody":{"required":true,"content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["email","source"],"properties":{"email":{"type":"string","format":"email"},"source":{"const":"homepage-waitlist"}},"additionalProperties":false},{"type":"object","required":["name","email","business"],"anyOf":[{"required":["biggestQualm"]},{"required":["biggest_qualm"]}],"properties":{"name":{"type":"string","minLength":1},"email":{"type":"string","format":"email"},"business":{"type":"string","minLength":1},"biggestQualm":{"type":"string","minLength":1},"biggest_qualm":{"type":"string","minLength":1},"source":{"type":"string"}},"additionalProperties":false}]}}}},"responses":{"200":{"description":"The scan request or waitlist signup was accepted.","content":{"application/json":{"schema":{"type":"object","required":["ok"],"properties":{"ok":{"const":true},"redirect":{"type":"string"}},"additionalProperties":false}}}},"400":{"description":"The request failed validation.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string"}},"additionalProperties":false}}}},"500":{"description":"The service couldn't complete the request.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}}},"/api/pushing-talk/signup":{"post":{"operationId":"requestPushingTalkDownload","summary":"Join the Pushing Talk download list","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["email","consent"],"properties":{"email":{"type":"string","format":"email"},"consent":{"const":true}},"additionalProperties":false}}}},"responses":{"200":{"description":"The signup was accepted.","content":{"application/json":{"schema":{"type":"object","required":["ok","dmgUrl"],"properties":{"ok":{"const":true},"dmgUrl":{"type":["string","null"],"format":"uri"}},"additionalProperties":false}}}},"400":{"description":"The request failed validation.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string"}},"additionalProperties":false}}}},"500":{"description":"The service couldn't complete the request.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}}},"/api/shade/signup":{"post":{"operationId":"requestShadeDownload","summary":"Join the Shade download list","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["email","consent"],"properties":{"email":{"type":"string","format":"email"},"consent":{"const":true}},"additionalProperties":false}}}},"responses":{"200":{"description":"The signup was accepted.","content":{"application/json":{"schema":{"type":"object","required":["ok","dmgUrl"],"properties":{"ok":{"const":true},"dmgUrl":{"type":["string","null"],"format":"uri"}},"additionalProperties":false}}}},"400":{"description":"The request failed validation.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string"}},"additionalProperties":false}}}},"500":{"description":"The service couldn't complete the request.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}}}}}}}}},"/api/x402/download/crush":{"get":{"operationId":"purchaseCrushDownloadWithMpp","summary":"Purchase a temporary CRUSH_ macOS download URL with MPP","description":"Returns an MPP payment challenge, with inline x402 compatibility, until the request carries a valid payment credential.","x-payment-info":{"offers":[{"intent":"charge","method":"tempo","amount":"30000000","currency":"0x20c0000000000000000000000000000000000000","description":"One-time CRUSH_ macOS download payment in pathUSD."}]},"responses":{"200":{"description":"The payment settled and a temporary download URL was issued.","content":{"application/json":{"schema":{"type":"object","required":["url"],"properties":{"url":{"type":"string","format":"uri"}},"additionalProperties":false}}}},"402":{"description":"Payment is required before the download URL can be issued.","headers":{"WWW-Authenticate":{"description":"MPP payment challenge, potentially with multiple methods.","schema":{"type":"string","minLength":1}},"PAYMENT-REQUIRED":{"description":"Base64 encoded x402 payment requirements when the client uses x402 compatibility.","schema":{"type":"string","minLength":1}}},"content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"503":{"description":"MPP isn't configured for this deployment.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"const":"MPP is not configured"}},"additionalProperties":false}}}}}}}}}