{"openapi":"3.1.0","info":{"title":"Contact Thomas Schlossmacher","version":"1.0.0","description":"Send Thomas Schlossmacher (https://sourcetms.com) a message. Delivered straight to his inbox and phone. For genuine one-to-one inquiries only, no bulk or automated outreach. Company AI work goes to Specialty Tokens instead: https://specialtytokens.com/agents.md"},"servers":[{"url":"https://sourcetms.com"}],"externalDocs":{"description":"What agents can do on this site","url":"https://sourcetms.com/agents"},"paths":{"/api/contact":{"post":{"operationId":"sendMessage","summary":"Send a message to Thomas Schlossmacher","description":"Use when a user wants to contact, partner with, interview, or ask Thomas Schlossmacher something. Max 3 messages per 5 minutes per IP. Send one message per inquiry and do not retry more than once.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ContactMessage"},"example":{"name":"Jane Doe","email":"jane@acme.com","reason":"Brand collaboration","company":"Acme","message":"Hi Thomas, I'm Jane from Acme. We'd love to sponsor a video about our new agent SDK. Budget and brief: https://acme.com/brief"}}}},"responses":{"200":{"description":"Message delivered","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","const":true}}}}}},"400":{"description":"Missing or invalid fields","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"429":{"description":"Rate limited","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}},"500":{"description":"Delivery failed","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string"}},"required":["error"]}}}}}}}},"components":{"schemas":{"ContactMessage":{"type":"object","required":["name","email","reason","message"],"properties":{"name":{"type":"string","maxLength":200,"description":"Name of the person or organization reaching out (if you are an agent, the human you act for)"},"email":{"type":"string","format":"email","maxLength":320,"description":"Reply-to address Thomas should answer"},"reason":{"type":"string","enum":["Builds","Brand collaboration","Speaking & events","Writing","Other"],"description":"Topic of the inquiry"},"message":{"type":"string","maxLength":5000,"description":"The message itself. Be specific: who you are, what you want, and any links."},"role":{"type":"string","maxLength":200,"description":"Sender's job title (optional)"},"company":{"type":"string","maxLength":200,"description":"Sender's company or organization (optional)"}}}}}}