{
  "DiscoveryFreshness": {
    "VersionKey": "006c03dc-3a0a-4910-b4ab-5800906a42d3",
    "CacheAllowed": false,
    "Rule": "AIXE discovery contracts are just-in-time instructions. Reload this endpoint\u0027s current /? discovery contract every time before acting.",
    "RequiredForPost": false
  },
  "Protocol": "AIXE",
  "Version": "1.0",
  "Document": "aixe.ai",
  "DocumentType": "StarterDiscovery",
  "Purpose": "Starter discovery document for HutDepot.com AIXE capabilities.",
  "Instructions": [
    "Read this document first.",
    "Call GET /endpoint/? to request the current just-in-time discovery contract before acting.",
    "After every POST action, inspect SuccessCode. Only SUCCESS means success."
  ],
  "Endpoints": [
    {
      "Endpoint": "/aixe/suggestions/make-a-suggestion",
      "DiscoveryRequest": "/aixe/suggestions/make-a-suggestion/?",
      "Method": "POST",
      "Purpose": "Create a member suggestion and link it to the submitting member."
    },
    {
      "Endpoint": "/aixe/suggestions/get-all-suggestions-for-processing",
      "DiscoveryRequest": "/aixe/suggestions/get-all-suggestions-for-processing/?",
      "Method": "POST",
      "Purpose": "Return suggestions not yet moved to PMAT for ticket creation."
    },
    {
      "Endpoint": "/aixe/suggestions/get-suggestion",
      "DiscoveryRequest": "/aixe/suggestions/get-suggestion/?",
      "Method": "POST",
      "Purpose": "Return one suggestion by SuggestionKey."
    },
    {
      "Endpoint": "/aixe/suggestions/mark-suggestion-as-moved-to-pmat",
      "DiscoveryRequest": "/aixe/suggestions/mark-suggestion-as-moved-to-pmat/?",
      "Method": "POST",
      "Purpose": "Mark one suggestion as moved to PMAT."
    },
    {
      "Endpoint": "/aixe/suggestions/mark-suggestion-as-complete",
      "DiscoveryRequest": "/aixe/suggestions/mark-suggestion-as-complete/?",
      "Method": "POST",
      "Purpose": "Mark one suggestion complete and store resolution notes."
    },
    {
      "Endpoint": "/client/recover-client-key",
      "DiscoveryRequest": "/client/recover-client-key/?",
      "Method": "POST",
      "Purpose": "Recover a HutDepot ClientKey by email."
    },
    {
      "Endpoint": "/aixe/clients/validate-client-key",
      "DiscoveryRequest": "/aixe/clients/validate-client-key/?",
      "Method": "POST",
      "Purpose": "Validate a HutDepot ClientKey."
    }
  ],
  "BusinessRules": [
    "Use keys only. Do not use numeric IDs.",
    "For action endpoints, SuccessCode == SUCCESS is the authority."
  ]
}