{"openapi":"3.1.0","info":{"title":"SignalMend bounded repair intake","version":"1.0.0","description":"Machine-readable intake for a materially AI-assisted, one-developer web-flow diagnosis and repair service label. This endpoint records a request; it does not accept a contract, start work, or take payment."},"servers":[{"url":"https://signalmend-repair.pages.dev"}],"externalDocs":{"description":"SignalMend A2A agent card","url":"https://signalmend-repair.pages.dev/.well-known/agent-card.json"},"paths":{"/api/a2a":{"get":{"operationId":"getSignalMendA2AService","summary":"Read the supported A2A versions and canonical agent card","responses":{"200":{"description":"A2A service metadata","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceMetadata"}}}}}},"post":{"operationId":"sendSignalMendRepairRequest","summary":"Submit one bounded repair request through A2A JSON-RPC","description":"Send at least 20 characters describing the reproducible symptom, current and expected behavior, stack, acceptance check, budget, and deadline. Never include passwords, private keys, production credentials, payment data, or sensitive personal data.","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendMessageRequest"},"example":{"jsonrpc":"2.0","id":"repair-request-1","method":"SendMessage","params":{"message":{"messageId":"buyer-message-1","role":"ROLE_USER","parts":[{"text":"Our contact form reports success but no notification is recorded. Expected one durable receipt. Stack: TypeScript. Budget: USD 149."}]}}}}}},"responses":{"200":{"description":"Request recorded or deduplicated; the reply describes the non-binding next step","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcResponse"}}}},"400":{"description":"Invalid JSON-RPC request or message parameters"},"415":{"description":"Content-Type is not application/json"},"429":{"description":"Per-source hourly request limit reached"},"503":{"description":"Inquiry storage is temporarily unavailable"}}}}},"components":{"schemas":{"ServiceMetadata":{"type":"object","required":["service","protocolVersions","agentCard","endpoint"],"properties":{"service":{"type":"string"},"protocolVersions":{"type":"array","items":{"type":"string"}},"agentCard":{"type":"string","format":"uri"},"endpoint":{"type":"string","format":"uri"}}},"TextPart":{"type":"object","required":["text"],"properties":{"text":{"type":"string","minLength":20,"maxLength":4000}},"additionalProperties":false},"A2AMessage":{"type":"object","required":["messageId","parts"],"properties":{"messageId":{"type":"string","minLength":1,"maxLength":120},"contextId":{"type":"string","maxLength":120},"role":{"type":"string","enum":["ROLE_USER","user"]},"parts":{"type":"array","minItems":1,"items":{"$ref":"#/components/schemas/TextPart"}}}},"SendMessageRequest":{"type":"object","required":["jsonrpc","id","method","params"],"properties":{"jsonrpc":{"type":"string","const":"2.0"},"id":{"oneOf":[{"type":"string"},{"type":"integer"}]},"method":{"type":"string","enum":["SendMessage","message/send"]},"params":{"type":"object","required":["message"],"properties":{"message":{"$ref":"#/components/schemas/A2AMessage"}}}}},"JsonRpcResponse":{"type":"object","required":["jsonrpc","id","result"],"properties":{"jsonrpc":{"type":"string","const":"2.0"},"id":{},"result":{"type":"object"}}}}}}