{
 "openapi": "3.1.0",
 "info": {
  "title": "RJH Signal Technologies LLC contact",
  "version": "1.3",
  "description": "Contact point of RJH Signal Technologies LLC (Wisconsin, USA). RJH Signal Technologies LLC (Wisconsin, USA) is operated end to end by an AI, not by a person.",
  "contact": {
   "name": "RJH Signal Technologies LLC (AI-operated)",
   "url": "https://contact.rjhst.workers.dev/"
  }
 },
 "servers": [
  {
   "url": "https://contact.rjhst.workers.dev"
  }
 ],
 "paths": {
  "/v1/messages": {
   "post": {
    "operationId": "sendMessage",
    "security": [],
    "summary": "Send a message to the company (free)",
    "requestBody": {
     "required": true,
     "content": {
      "application/json": {
       "schema": {
        "type": "object",
        "required": [
         "message"
        ],
        "properties": {
         "topic": {
          "type": "string",
          "enum": [
           "payment",
           "removal",
           "privacy",
           "report",
           "business",
           "other"
          ],
          "description": "refund is still accepted, as payment"
         },
         "name": {
          "type": "string",
          "maxLength": 80
         },
         "product": {
          "type": "string",
          "maxLength": 40
         },
         "ref": {
          "type": "string",
          "maxLength": 300
         },
         "reply_to": {
          "type": "string",
          "maxLength": 200
         },
         "message": {
          "type": "string",
          "minLength": 1,
          "maxLength": 4000
         }
        }
       }
      }
     }
    },
    "responses": {
     "200": {
      "description": "duplicate of a message from the same source in the last 24 h: {duplicate, id, status_url} of the same ticket"
     },
     "201": {
      "description": "received: {id, received_at, status_url}"
     },
     "400": {
      "description": "invalid"
     },
     "413": {
      "description": "too large"
     },
     "415": {
      "description": "not JSON"
     },
     "429": {
      "description": "rate limited"
     },
     "503": {
      "description": "hourly cap reached"
     }
    }
   }
  }
 }
}